2015-12-23 25 views
8

Una e-shop è sviluppato utilizzando perstashop e messo ai tre server:Controllare la causa del tempo di caricamento lento tra i diversi server di

il primo 2 è Amazon, dovrebbe essere lo stesso impostazione

Server 1: http://be-pure.com/en/women/3-slim-y-tank.html

Server 2: http://52.77.216.83/en/women/3-slim-y-tank.html

l'ultimo è solo locale che accoglie

01.235.164,106 mila

Server 3: http://internal001.zizsoft.com/be_pure/en/women/3-slim-y-tank.html

Il problema è il server 1 loading confrontare molto lento per gli altri due server, ma le prestazioni dovrebbero essere il migliore tra 3.

Sembra come se il server 1 non ha la cache i file

ma in realtà, tutti di loro ha

accendere cache di smarty, utilizzando il file system, con recomplie quando modificare e accendere la cache del file system

Dato che il codice e l'impostazione del server sono gli stessi, sia il server 2 Amazon è stessa impostazione, e uno localhost è altro server, ma dovrebbe essere più lento di server di 1

1) Come eseguire il debug/verificare se la il file sta già utilizzando la cache?

(il file di cache individuare nella cache/smarty e cache/CacheFS server)

2) E che prende il tempo di caricamento lunghi per il server 1? Consideralo come un sito PHP, qualsiasi modo per verificare perché è lento?

Grazie mille per l'aiuto

risposta

4

riferimento ai commenti - ho interpretato male i dati stavo guardando in precedenza. Sembra che il server sia in grado di gestire solo 5-10 richieste alla volta, in modo che le cose vengano bloccate fino al caricamento delle altre cose. Probabilmente devi solo aggiornare la configurazione del tuo server web per gestire più richieste.

C'è anche un sacco di dati JS nel file. È 318KB solo per caricare la pagina e deve fare molte richieste per ottenere i file JS/CSS prima che raggiunga qualsiasi HTML. Quindi è 318KB + tutto il JS/CSS esterno che ha bisogno di recuperare (wow!). È come 4 MB di cose solo per caricare una pagina.

Controllare la modifica della data/ora sui file generati dal sistema di memorizzazione nella cache per verificare che la memorizzazione nella cache funzioni.

Edit:

Poiché non v'è ora una taglia fuori - si prega di rivedere il commento discussione che abbiamo avuto. C'è un problema in cui un traceroute non arriva alla destinazione del server e ho il sospetto che sia legato alla lentezza, ma quel tipo di problema di rete è sopra la mia testa.

+0

Grazie per il consiglio! Davvero salva un giorno, infatti il ​​timestamp diverso in amazon ha cancellato la cache prima, ma l'ho già aggiustato, la cache è lì – user3538235

+0

ma qualche indizio che il server 2 è più veloce del server 1? dato che entrambi usano Amazon, è dovuto all'impostazione di zopim nel server 1? Grazie per il tuo aiuto – user3538235

+0

Sono soddisfatto della velocità nel server 2, ti dispiacerebbe dare un'occhiata a questo per vedere se il server 2 ha lo stesso problema? Poiché il server 2 è un programma più economico con meno prestazioni ram/cpu, è piuttosto strano che il server 2 funzioni più velocemente del server 1 – user3538235

3

Sto dando risposta alla tua seconda domanda.

Non conosco il problema esatto del caricamento lento. ma abbiamo avuto lo stesso problema in uno dei nostri progetti lo scorso mese. Il server era amazzone.

Una delle nostre istanze era molto lenta. Abbiamo provato molte soluzioni ma nessuna di queste funzionava. Quindi abbiamo trovato una soluzione che sembra molto ingiusta ma ha funzionato per noi.

Abbiamo appena riavviato l'istanza lenta e abbiamo ottenuto il successo.

Spero che questa soluzione funzioni anche per voi.

Tutto il meglio :)

0

Nessun corpo può cancellare rispondere ciò che è problema con i server. Ma puoi trovarlo con il profiling. Se hai un budget consiglio vivamente di comprare uno strumento di profilazione "Tideways.io", "Blackfire" o "New Relic". Ho usato New Relic e mi aiuta davvero a trovare i colli di bottiglia. Se non disponi di budget per ottenere uno strumento di profilazione, puoi utilizzare l'estensione di profilazione php Xdebug. È anche pieno di aiuto, ma leggere l'output di profilazione di xdebug può essere un po 'difficile. Ma la configurazione è molto semplice e puoi eseguire una profilazione parziale (puoi creare un profilo URL che desideri) con "trigger di profilo xdebug", invece di profilare tutte le richieste.

+0

C'è uno strumento di prolungamento in Prestashop, puoi abilitarlo in modalità dev in define.inc.php con define ('_ PS_DEBUG_PROFILING_', true); –

0

Risposta alla domanda : È possibile utilizzare chromes sviluppatore strumento, F12, e quindi la scheda di rete. Ti mostrerà tutti i file che vengono scaricati, nella colonna delle dimensioni che puoi trovare se viene caricata dalla cache o meno.
Risposta alla domanda : È possibile utilizzare il plug-in YSlow di Chrome. ti aiuterà molto, ma è ovvio sul tuo sito che hai troppi file; css, js e molte immagini; prova ad unire i tuoi file css e js e usa la mappa immagine per le tue immagini. Spero che tu possa risolvere il tuo problema