2012-08-06 5 views
7

Spero che qualcuno possa aiutarmi con questo problema di Drupal 7. Ho notato che il tempo di caricamento è molto lento quando inserisco l'indirizzo del sito per la "prima volta". Ci vogliono circa 20 (media) secondi solo per iniziare a caricare i file e visualizzare il contenuto. Come se avesse qualche ritardo. Tuttavia, dopo quel periodo è molto veloce e tutto è ok. Una volta caricate/caricate le pagine, possiamo aggiornarle rapidamente e senza alcun ritardo.Drupal 7 è troppo lento su "primo caricamento"

Allego un'immagine per vedere Cascata di rete di Chrome.

Grazie a tutti.

Image: http://i.stack.imgur.com/vuejk.png (un'occhiata alla seconda fila)

[UPDATE] Sto usando php-apc, ma hanno ancora lo stesso problema.

+0

sembra che sia necessario utilizzare un po 'di cache o CDN per evitare lunghe attese in prima visione. La pagina Web stessa richiede molto tempo, indica il problema del database, forse –

+0

Stai utilizzando un database esterno? È possibile che i risolutori DNS non funzionino. – frustratedtech

+0

Vedere http://drupal.stackexchange.com/questions/36147/performance-problem-delay-on-first-request per un elenco abbastanza definitivo di ciò che potrebbe causare il problema – Clive

risposta

6

Questo è (molto probabilmente) a causa delle attività di Drupal Cron eseguite ogni poche ore/giorni (a seconda delle impostazioni). Drupal esegue quindi tutti i lavori cron in coda ... il che può richiedere molto tempo.

Dai un'occhiata alla pagina this drupal.stackoverflow.

e: Inoltre, questo tweak può aiutare, ma non ho provato io stesso: http://drupal.org/node/1576686

2

Spegnere il modulo Update Manager di produzione. Quando viene eseguito Cron, controllerà gli aggiornamenti che richiederanno del tempo. Risparmia tempo abilitando questo modulo solo sui siti di sviluppo (Dev, Staging, ecc.). Non c'è bisogno che la produzione passi del tempo in questo.

0

Dai un'occhiata a quello che hai nella sezione del tuo sito web. Se ci sono molte dichiarazioni @import, il problema è più probabile nel frontend piuttosto che nel backend.

Drupal utilizza molti file .css e .js per impostazione predefinita. Il browser può iniziare a disegnare la pagina richiesta solo dopo aver scaricato tutti i file .css e .js dalla sezione della sezione.

Il problema con @import è che il browser può scaricare solo un singolo file css alla volta. È un caso diverso con il tag. I file CSS possono essere scaricati in parallelo in questo caso, il che significa più veloce.

La seconda volta che si visita il sito Web, i file css e js vengono caricati dalla cache del browser e questo spiega perché le pagine vengono caricate più velocemente.

Soluzione alternativa consigliata: Vai a admin/settings/performance abilita l'aggregazione css e js.

2

So che questa è una vecchia domanda, ma ecco la mia soluzione. Questo accade ai siti che non generano molto traffico e il pool di applicazioni del sito sul server si spegne automaticamente dopo un periodo di tempo specificato (credo che il valore predefinito sia 20 minuti). Pertanto, la prima persona che accede al sito Web dopo questo periodo di tempo dovrà attendere il riavvio del pool di applicazioni e ciò potrebbe richiedere del tempo nei siti php. Questo vale anche per i lavori di mais. Il core core è impostato per eseguire tutti i numeri "n", ma può essere eseguito solo quando qualcuno visita il sito. Quindi, la prima persona che colpisce il sito dopo l'intervallo impostato per il mais dovrà attendere l'esecuzione del lavoro di mais. Quindi, per un sito di produzione, dovresti gestire i lavori principali del mais e gestirli manualmente o utilizzare un servizio esterno per eseguire il mais (passando l'url esterno del mais). La soluzione migliore è utilizzare un servizio esterno gratuito come Uptime Robot per raggiungere il tuo sito ogni 5-10 minuti, mantenendo così la connessione attiva.

+0

Per quanto riguarda l'arresto del pool di applicazioni, ciò accadrà: usando ** PHP-FPM ** con _pm = ondemand_ o usando ** PHP-CGI ** con _FcgidIdleTimeout_ con un valore> 0. –