Come risolvere il caricamento lento al primo accesso in WordPress (Server Locale)?

1 feb 2018, 02:36:34
Visualizzazioni: 17.1K
Voti: 11

Riepilogo

L'accesso iniziale a una pagina WordPress richiede circa 5-7s da un server locale, contro 300-500ms per i caricamenti successivi. Circa 10 volte più lento al primo accesso, il che è inaccettabile. La cache del browser è disabilitata negli strumenti per sviluppatori. Come risolvere?

Informazioni dettagliate

Ho notato che quando accedo a una pagina WordPress per la prima volta (dopo aver cancellato tutto in Chrome) il caricamento richiede circa 5-7s, il che è inaccettabile per un server locale. Tuttavia, dopo questo primo caricamento, gli accessi successivi richiedono solo circa 0.3-0.5s o 300-500ms (comunque lungo per un server locale ma molto più veloce del primo caricamento). Per escludere problemi di cache, l'ho disabilitata dagli strumenti per sviluppatori del browser, quindi tutte le richieste di pagina accedono direttamente ai file dal server.

Test effettuati

Inizialmente pensavo fosse un problema del server, quindi ho trasferito tutto su localhost per verificare se il problema persiste. E infatti persiste.

Ho anche pensato potesse essere un problema DNS, quindi ho controllato httpd.conf e i file host DNS di Windows, trovando solo l'IP 127.0.0.1. Ho aggiornato l'host in config.php di WordPress e nel database a 127.0.0.1. Nonostante ciò, il caricamento iniziale rimane lento. Se fosse un problema DNS, la pagina non dovrebbe caricarsi o dovrebbe essere costantemente lenta, invece la lentezza riguarda solo il primo accesso.

Riavvii del server o spegnimenti completi non influenzano i tempi di caricamento. Dipende solo se è il primo accesso da parte del client o meno.

Ho trovato un post su nginx & php-fpm molto lenti al primo accesso, dove l'utente inizialmente incolpava il server, ma poi si è scoperto essere il CMS. Basandomi sulla mia esperienza, WordPress potrebbe essere la causa del caricamento lento iniziale, ma non so esattamente quale parte intervenire per risolvere il problema. Qualcuno può aiutarmi a risolvere il caricamento lento iniziale di WordPress (su Server Locale)?

Server

WAMP (localhost), 32 core Xeon 2.7Ghz, 24Gb RAM, HDD SATAIII, OpCache abilitato tramite Zend Engine

WordPress

Nessun plugin, versione 4.9

Client

Chrome & Firefox con cache disabilitata negli Strumenti per Sviluppatori, cUrl

8
Commenti

Hai controllato la cache delle query di MySQL? Hai una tabella wp_options estremamente grande?

janh janh
1 feb 2018 05:37:42

Non è grande, solo 4 post, ma penso fosse disabilitata di default https://mysqlserverteam.com/mysql-8-0-retiring-support-for-the-query-cache/

Jones G Jones G
1 feb 2018 11:42:45

wp_options, non wp_posts, dovrebbe trarre grande vantaggio dalla cache delle query, ma con un sito così piccolo, sembra improbabile che WP abbia accumulato molto lì. Riesci a replicare il comportamento riavviando php-fpm/nginx/mysql?

janh janh
1 feb 2018 11:48:00

Il riavvio/spegnimento del server non ha attivato il problema, ho anche cancellato l'opcache prima di riavviare/spegnere il server. Ho notato che il caricamento della pagina richiede solo 0.3s, quindi suppongo che il mio server sia sempre pronto a servire i file anche dopo un riavvio/spegnimento e riaccensione completo.

Jones G Jones G
1 feb 2018 12:02:57

Riesci a riprodurre il problema usando curl? Il log di accesso di Apache mostra richieste aggiuntive?

janh janh
1 feb 2018 12:10:48

Ciao, ho riavviato sia client che server. Solo i nuovi accessi client al sito possono attivare il problema. Ho controllato il log di accesso di Apache ed era vuoto, non c'era nulla. Posso provare a usare curl ma non so come usarlo per questo problema? Potresti suggerirmi alcuni comandi curl?

Jones G Jones G
1 feb 2018 12:24:01

Continuiamo questa discussione nella chat.

janh janh
1 feb 2018 12:24:24

Penso di aver trovato il colpevole. Ogni volta che succede, ho notato che viene lanciato wp-cron, l'ho disabilitato per ora e sto ancora testando.

Jones G Jones G
10 feb 2018 02:59:51
Mostra i restanti 3 commenti
Tutte le risposte alla domanda 1
1

La velocità e il tempo di caricamento di un sito web (WordPress) dipendono da molti fattori.

  1. Query MySql
  2. Ottimizzazione delle immagini
  3. File CSS (più file CSS ci sono, maggiore sarà il tempo di caricamento e la velocità della pagina).
  4. File JavaScript (più file JS ci sono, maggiore sarà il tempo di caricamento e la velocità della pagina).
  5. Rinvia il parsing del JavaScript
  6. Minifica il JavaScript
  7. Minifica il CSS
  8. Abilita la compressione gzip
  9. Sfrutta la cache del browser
  10. Riduci al minimo la dimensione delle richieste E molto altro ancora.

Testa il tuo sito web con https://gtmetrix.com e inizia a risolvere i problemi che il sito ti segnala. Per fare questo, dovrai mettere online il tuo server locale con un indirizzo IP.

La velocità della pagina e il tempo di caricamento richiedono molta attenzione e sono un processo continuo, non un singolo problema da risolvere.

25 ago 2018 16:30:29
Commenti

Ciao, grazie per le informazioni. In base ai test attuali che ho effettuato, sembra che il problema sia il PHP di WordPress. Ho ricostruito il sito utilizzando lo stesso server ma ho usato i miei codici PHP personalizzati. Ora, riesce a caricarsi in soli 34-170ms per il sito completo con tutte le funzionalità, rispetto ai 300ms - 500ms di WordPress in localhost.

Jones G Jones G
28 set 2018 18:45:04