2013-08-06 19 views
6

Ho uno scenario piuttosto strano. Abbiamo una gamma di WEBAPI ospitate sul cloud. Consumiamo tali servizi nella nostra applicazione Windows 8. Il problema è quando i servizi sono in esecuzione localmente e richiede meno di 400ms, ma quando è ospitato su Windows, per alcune richieste occorrono fino a 20 secondi. Ho controllato gli indici delle nostre tabelle del database e la sua multa. Non ho idea di cosa sia il profilo e come migliorare le prestazioni. Grazie!Servizi estremamente lenti durante l'implementazione su Azure

+0

La latenza di SQL Azure può essere abbastanza l'assassino, se si finisce per fare molte richieste di database (ad esempio [n + 1] (http://stackoverflow.com/questions/97197/what-is-the -n1-selects-issue) può fare cose cattive). –

+0

Se non si tratta di un problema con il database, puoi provare con [CloudUp] (http://www.thecloudup.com), che visita il tuo sito Web ogni determinato minuto per tenerlo sveglio. Questo dimostra di essere un modo efficace per risolvere il problema della lentezza della prima connessione. –

risposta

4

Ognuno Grazie mille! Ma ho trovato un modo per usare dottrace (strumento di profilazione eccellente) sulla distribuzione blu. Ecco il link

http://blog.maartenballiauw.be/post/2013/03/13/Remote-profiling-Windows-Azure-Cloud-Services-with-dotTrace.aspx

È inoltre possibile utilizzare Windows diagnostica azzurre e classe cronometro per registrare tutti i tempi ai tavoli WAD. Inoltre, è stato rilevato che la prima richiesta al servizio azzurro è sempre lenta in un altro thread. Hanno appena copiato qui sotto

Serkan, si avrebbe bisogno di assicurarsi innanzitutto nel tuo post, tempo hai pubblicato un servizio cloud o di un sito web per Windows Azure. Sulla base del Servizio Cloud (un ruolo Web) o di un sito Web, la risposta alla tua domanda sarà diversa. Come vuoi saperne di più, vorrei spiegare cosa succede dietro.

Come hai suggerito che la prima connessione è lenta, posso vedere che succede con i siti Web di Windows Azure. I siti Web Windows Azure sono in esecuzione in un pool condiviso di risorse e utilizzano il concetto di siti hot (attivi) e cold (inattivi) nei quali, se un sito Web non ha una connessione attiva per x quantità di tempo, il sito va in stato freddo indica l'host IIS processo di uscita. Quando viene effettuata una nuova connessione a tali siti Web, sono necessari alcuni secondi per rendere il sito pronto e funzionante. Dipende da come è il tuo primo codice di pagina, il tempo di caricare il sito per la prima volta varia. Discussione simile viene registrata: Connessione MySQL molto lenta con MySQL Connector per .net

Con Windows Azure Cloud Service il modello di applicazione generale è diverso. Il tuo webrole ha un proprio server IIS completamente dedicato alla tua applicazione e al di sopra dei limiti del sito Web non si verifica tuttavia potrebbero esserci altri motivi che potrebbero rallentare il caricamento della pagina. Se si utilizza WebRole, ciò che si potrebbe fare è eseguire prima un profiler del caricamento della pagina e un RD nell'istanza di Azure per raccogliere i dati di caricamento della pagina per vedere cos'altro si potrebbe fare per aumentare le prestazioni.

+0

Per le prestazioni della connessione MySql, selezionare [this] (http://www.yaplex.com/windows-azure/mysql-database-performance-on-windows-azure/). –

Problemi correlati