2015-12-23 5 views
8

Ein e-shop perstashop und setzen auf die Verwendung der drei Server entwickelt:Prüfen unter verschiedenen Server

die ersten 2 ist Amazon, sollte gleich sein Einstellung

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

die letzte ist nur lokale Hosting

Server

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

Das Problem ist, Server 1 Laden sehr langsam zu den beiden anderen Server zu vergleichen, aber die Leistung sollte die beste unter 3.

Es sieht aus, als wenn Server 1 hat nicht Cache die Dateien

aber in der Tat, alle von ihnen hat

wiederum auf smarty-Cache-Dateisystem, mit recomplie wenn und wiederum auf dem Dateisystem-Cache

01 ändern

Da der Code und Server-Einstellung gleich ist, ist sowohl 2 amazon Server gleiche Einstellung und localhost ist anderer Server, aber es sollte als Server 1 langsamen

1) Wie debuggen/prüfen, ob die Datei verwendet bereits Cache?

für Server 1

2) Und was bringt die lange Ladezeit (die Cache-Datei im Cache/Smarty und Cache/cachefs in Server finden)? Betrachten Sie es einfach als eine PHP-Site, irgendwelche Möglichkeiten zu überprüfen, warum es langsam ist?

Vielen Dank für

Antwort

4

zu den Kommentaren finden helfen - ich die Daten falsch interpretiert ich war auf der Suche früher. Es scheint, dass der Server nur 5-10 Anfragen gleichzeitig bearbeiten kann, so dass die Dinge blockiert werden, bis die anderen Dinge geladen sind. Sie müssen wahrscheinlich nur die Konfiguration Ihres Webservers aktualisieren, um weitere Anfragen zu bearbeiten.

In der Datei befinden sich auch viele JS-Daten. Es ist 318KB, nur um die Seite zu laden, und es muss viele Anfragen machen, um JS/CSS-Dateien zu bekommen, bevor es überhaupt zu irgendeinem des HTML kommt. Also ist es 318KB + all die externe JS/CSS, die es braucht, um zu holen (wow!). Das ist wie 4MB Sachen nur um eine Seite zu laden.

Überprüfen Sie den Änderungszeitstempel für die von Ihrem Cachesystem generierten Dateien, um zu überprüfen, ob das Caching funktioniert.

Edit:

Da es nun ein Kopfgeld aus ist - bitte den Kommentar Diskussion hatten wir überprüfen. Es gibt ein Problem, bei dem eine Traceroute nicht zum Serverziel gelangt, und ich vermute, dass dies mit der Langsamkeit zusammenhängt, aber diese Art von Netzwerkproblem ist über meinem Kopf.

+0

Danke für den Hinweis! wirklich einen tag sparen, in der tat der timestamp anders in amazon hat den cache vorher gelöscht, aber ich habe es schon behoben, der cache ist da – user3538235

+0

aber irgendwelche hinweise, dass der server 2 schneller ist als server 1? Da beide Amazon verwenden, liegt das an der Einstellung von Zopim in Server 1? Danke für Ihre Hilfe – user3538235

+0

Ich bin zufrieden mit der Geschwindigkeit in Server 2, würde es Ihnen etwas ausmachen, um zu sehen, ob Server 2 das gleiche Problem hat? Als Server 2 ist billiger Plan mit weniger RAM/CPU-Leistung, es ist ziemlich seltsam Server 2 schneller als Server 1 ausgeführt – user3538235

3

Ich gebe Antwort auf Ihre zweite Frage.

Ich kenne das genaue Problem der langsamen Belastung nicht. Aber wir hatten dasselbe Problem in einem unserer Projekte im letzten Monat. Server war Amazon.

Einer unserer Instanz war sehr langsam. Wir hatten viele Lösungen ausprobiert, aber keine funktionierte. Dann haben wir eine Lösung gefunden, die sehr unfair aussieht, aber für uns funktioniert.

Wir hatten gerade die langsame Instanz neu gestartet und wir haben Erfolg.

Ich hoffe, diese Lösung wird auch für Sie arbeiten.

All the Best :)

0

Kein Körper kann beantworten klar, was Problem mit den Servern ist. Aber Sie können es mit Profiling finden. Wenn Sie ein Budget haben, empfehle ich Ihnen, ein Profiling-Tool "Tideways.io", "Blackfire" oder "New Relic" zu kaufen. Ich habe New Relic benutzt, und es hilft wirklich, Engpässe zu finden. Wenn Sie kein Budget haben, um ein Profiling-Tool zu erhalten, können Sie php Profilerweiterung Xdebug verwenden. Es ist auch hilfreich, aber das Lesen der Profilausgabe von xdebug kann etwas schwierig sein. Aber das Setup ist wirklich einfach, und Sie können partielles Profiling (Sie können Profil-URL, das Sie wollen) mit "xdebug profile trigger" statt Profiling alle Anfragen tun. Sie verwenden chromes Entwickler Werkzeug, F12, und dann Registerkarte Netzwerk:

+0

Es gibt ein prolifing Werkzeug in Prestashop, Sie können es in dev Modus in defines.inc.php mit define aktivieren ('_ PS_DEBUG_PROFILING_', true); –

0

Antwort infrage zu stellen. Es zeigt Ihnen alle heruntergeladenen Dateien in der Spalte Größe, die Sie finden können, wenn sie aus dem Cache geladen wird oder nicht.
Antwort zu Frage : Sie können chrome YSlow Plugin verwenden. Es wird Ihnen sehr helfen, aber es ist offensichtlich, dass Sie auf Ihrer Website zu viele Dateien haben. css, js und viele Bilder; Versuchen Sie, Ihre CSS- und JS-Dateien zusammenzuführen und Image-Map für Ihre Bilder zu verwenden. Hoffe, Sie können Ihr Problem lösen