2013-03-14 16 views
5

Abbiamo un'applicazione distribuita su Windows Azure come un ruolo Web e che stiamo usando Pingdom per la pagina di test tempi di caricamento: http://tools.pingdom.com/fpt/ASP.NET problema di prestazioni delle applicazioni su Windows Azure

l'URL per l'applicazione su Windows Azure è: http://www.doctorspring.com. Il tempo di caricamento dell'app è in genere di circa 7 s. Il database è un database SQL Azure e il ruolo e il database si trovano nella stessa zona.

Esempio risultato Pingdom: http://tools.pingdom.com/fpt/#!/CllGggrMz/http://www.doctorspring.com/

risultato Esempio Pingdom (con gzip): http://tools.pingdom.com/fpt/#!/f2TUbR6OX/www.doctorspring.com

Sospettando che Azure potrebbe essere il problema, abbiamo provato un hosting gratuito da Somee come: http://www.doctorspring.somee.com Il tempo di caricamento di l'app su Somee è di circa 3,5 secondi.

Esempio risultato Pingdom: http://tools.pingdom.com/fpt/#!/o3gZOjTwH/http://www.doctorspring.somee.com/

Questo è un problema enorme prestazioni per noi. Puoi aiutarci a capire il problema con Azure o suggerire un metodo, come possiamo superarlo?

Grazie, Manish

+0

Vorrei utilizzare un profiler ... ad esempio, usiamo questo: https://code.google.com/p/mvc-mini-profiler/ ... anche noi abbiamo notato che Azure ha fatto sì che le pagine si caricassero miliardi di volte più lentamente , ma una volta che abbiamo profilato le cose pesantemente, ci siamo presi del tempo per ottimizzare le prestazioni, in realtà non notiamo alcuna differenza tra il nostro vecchio hosting e il nostro hosting Azure. – Arran

+0

Ultimamente ho notato lo stesso problema con le prestazioni in modalità Condivisa. Passa all'istanza riservata per vedere se migliora. –

risposta

1

In entrambi i casi, il caricamento della home page è troppo lenta - 3,5 secondi per generare una pagina è circa 10 volte più lento di quello che devi essere quando non c'è carico sul sito. Mi aspetto che il sito si sgretoli sotto un carico anche moderato con questo tipo di prestazioni.

Senza sapere come è costruito il sito, è difficile spiegare il motivo per cui un ambiente è più veloce dell'altro - ma la mia ipotesi è che qualunque sia la generazione della pagina (un qualche tipo di CMS?) È la causa. Azure è noto per essere un tocco lento quando si eseguono query di database, anche se normalmente questo si manifesta solo in condizioni estreme.

Suggerirei di sintonizzare il CMS, specialmente con la cache. Abbiamo rilevato che Azure è in genere piuttosto veloce, ma quando si eseguono ricerche nel database (ad esempio il recupero del contenuto per il CMS), può essere variabile; se il tuo CMS sta facendo un sacco di query di database per ottenere il contenuto della home page, sarà lento.

Vale anche la pena di eseguire Yslow: c'è un po 'di frutta bassa per aumentare le prestazioni.

+0

Grazie Neville, andrei a fare un profiler, ma se guardi entrambi gli URL in questo momento, la richiesta ASPX è più veloce per il secondo URL rispetto al primo. E tutto ciò che potremmo ottenere da Yslow, è lì. Il punto qui è il confronto tra i due. – manishKungwani

1

Quali servizi sono in esecuzione in Azure? Ruolo web, VM, sito web? Ti stai connettendo a un'istanza di Database di Azure dalla home page (se sì, quante chiamate distinte stai facendo)? Sto passando un tempo di caricamento di 7,5 secondi da Londra, ma ad essere sincero anche 3 secondi è troppo lento per la home page. È difficile sapere che cosa causa il caricamento prolungato della pagina, ma se ci si connette a un'istanza DB, è possibile fare molto, ad es.

  1. Renderizza la pagina ed effettua alcune chiamate asincrone per lo spooling di dati aggiuntivi.

  2. Assicurarsi che i propri servizi Azure sono in esecuzione ravvicinati

  3. consideri il contenuto del database di cache a un blob. Per esempio. per i dati contenuti in "Domande mediche ricevute nelle ultime 24 ore" se si esegue questa operazione da un DB su ogni carico, è possibile accelerare notevolmente l'accesso memorizzandolo regolarmente in un file html memorizzato in un contenitore BLOB e immetterlo nella pagina.

  4. Se è necessario effettuare chiamate DB dalla home page, provare a effettuare il minor numero di round trip possibile inserendo le query in una stored procedure.

Qui ho fatto molte ipotesi, ma ci sono certamente cose che potresti fare per migliorare drasticamente le prestazioni in questa pagina.

+2

Sono d'accordo su quei punti e sono nella lista delle cose da fare. Tuttavia, la differenza di prestazioni nelle 2 piattaforme è la vera questione qui. – manishKungwani

+0

Quando sei passato a Somee.com. Il database era ancora su Azure? – QFDev

+0

No, ho il database su somee.com. – manishKungwani

Problemi correlati