2016-04-20 11 views
6

Ho un sito Wordpress ospitato in un'applicazione Web di Azure Basic (piccola) con ClearDb (Titan). Ho anche un'altra app Web ospitata in questo piano di servizio Basic utilizzando il DB SQL di Azure. Ho avuto alcuni problemi di latenza con questo, ma alla fine ho usato connessioni persistenti (Azure web app slow server response time).Wordpress slow on azure

Dato che l'altra app funziona perfettamente e il sito di Wordpress funziona bene anche una volta caricata la pagina, penso che il problema potrebbe riguardare la connessione al database. Ho provato ad ospitare MySql in un'immagine di finestra mobile su VM di Azure, ma le prestazioni non sono migliorate.

Si noti che quando il sito è freddo la pagina viene caricata intorno a 20 secondi. Sarei felice se questo potesse essere spinto in qualche luogo intorno a 1-2 secondi.

Ho provato a impostare output_buffering = Off;, ma nessun miglioramento. Ho anche attivato AlwaysOn.

Qualche suggerimento come posso migliorare la latenza?

+0

si può provare a utilizzare https://azure.microsoft.com/en-us/blog/10-ways-to-speed-up-your-wordpress-site-on-azure-websites/per ottimizzare il tuo sito wordpress –

+0

Hey Gary, ho già provato la maggior parte dei punti qui, ma come la mia domanda dice che ho i maggiori problemi con le partenze a freddo - anche se ho attivato AlwaysOn. – Pio

risposta

4

Provare ad abilitare Sempre attivo nelle Impostazioni. 20 secondi è un numero molto serio, ma Always On dovrebbe eliminare il problema con la partenza a freddo.

UPD: Passaggio successivo: abilitare Application Insights (monitoraggio delle prestazioni nelle impostazioni) per vedere cosa sta succedendo con le prestazioni. È davvero difficile dire quale possa essere un problema: puoi verificare se il tuo DB e il tuo sito web si trovano nella stessa regione (tuttavia, a causa di ciò, non ho riscontrato tali numeri).

+0

Ho dimenticato di dirlo, ma ho sempre abilitato. – Pio

+0

Le informazioni sulle applicazioni funzioneranno? Quando l'ho abilitato, dice che è per le app .net e la maggior parte del codice è in 'C#'. È possibile utilizzare solo il riquadro dei dati di caricamento della pagina del browser con 'js'. Proverò a configurarlo. – Pio

+1

Ahi, allora c'è qualcosa di sbagliato altrove. Sì, la cosa fantastica di AppInsights è che puoi usarla per quello. Dai un'occhiata a come configurare il modulo. https://azure.microsoft.it/it/it/blog/usage-analytics-per-wordpress-with-azure-app-insights/ –

4

E 'dovuto al buffering dell'output di PHP, che non è configurato su Azure WebApp. Per risolvere questo problema è possibile aggiungere il seguente codice nel file web.config e riavviare WebApp.

<configuration> 
     <system.webServer> 
     <handlers> 
      <add name="PHP-FastCGI" 
       path="*.php" 
       verb="GET,HEAD,POST" 
       modules="FastCgiModule" 
       scriptProcessor="D:\Program Files (x86)\PHP\v5.4\php-cgi.exe" 
       resourceType="Either" 
       requireAccess="Script" 
       responseBufferLimit="0" /> 
     </handlers> 
     </system.webServer> 
</configuration> 
+0

Si fa riferimento a un'unità locale 'scriptProcessor =" D: \ Programmi (x86) \ PHP \ v5.4 \ php-cgi.exe "' È intenzionale? –

1

Ciò che mi ha aiutato è stato inserire sia la webapp che il db (azzurro mysql) nella stessa regione. Prima che lo facessi, tutto era estremamente lento ma, una volta ricreata l'app con entrambe le risorse nella stessa regione, l'app è diventata molto vivace.

La prima volta che ho creato l'applicazione, è un gruppo di risorse era in Stati Uniti centrali, ma a quanto pare il mysql azzurro non è disponibile non in questa fase così ho dovuto mettere il db da qualche altra che ha causato la lentezza.

Ho anche attivato l'opzione "always on".

enter image description here