Jump to content

Langsamer Shop nach Upgrade 1.5 > 1.6


Recommended Posts

Hallo Community,

 

Ich betreibe seit einiger Zeit den Shop www.3DMarkt.at für 3D-Drucker und 3D-Drucker-Zubehör. Der Shop lief mehr oder weniger problemlos, bis zum Upgrade von 1.5.6.1 auf 1.6.0.9.

 

Seit dem Upgrade dauert es zw. 11 - 28 Sekunden um die Seite zu laden, was für einen Webshop leider VIEL zu lange ist. Ich habe also das Internet durchsucht und leider nix gefunden. Ich habe meinen Hosting-Provider (iPage) kontaktiert und mit dem Tech-Support herumgeschrieben - Leider auch nix.

Laut iPage liegt es an den js Dateien meines Shops.

Ich habe aber einige Online-Website-Tests gemacht und die Anspruchszeit des Servers liegt bei 9-18 Sekunden. Die Ladezeit der Seite selbst bei 2-4 Sek.

 

Meine Frage:

Beeinflusst meine Seite die Serveranspruchzeit? Die Zeit bis zum First Byte sind eben so um die 9 Sekunden. Liegt es dann nicht an dem Server?

 

Ein paar Infos:

Prestashop 1.6.0.9.

Template-Dateien nie neu kompilieren

CCC (Verkettung, Kompression und Caching)       - alles JA

Cache verwenden - Ja -> Dateisystem

 

Ich freue mich auf eure Antworten! Danke im Voraus!

 

Link to comment
Share on other sites

Hallo und willkommen im Forum!

 

 

Die Zeit bis zum First Byte sind eben so um die 9 Sekunden. Liegt es dann nicht an dem Server?

 

Möglich, aber nicht zwingend. Die Zeit bis zum ersten Byie (TTFB) ist ja die Zeitspanne zwischen dem Absenden der Anforderung durch den Browser bis zum Erhalt der ersten Antwort, i.d.R eine Statuszeile (HTTP/1.1 200 OK oder  ähnlich). Die Statuszeile soll signalisieren das deine Seite erreichbar ist. Bevor die Statuszeile erzeugt wird wird deine Site "überprüft", insbesondere wird auch die Kompression angeworfen!!!

Du kannst einen einfachen Test machen;

Messe die TTFB mit einem Speedtest-Tool (http://www.webpagetest.org)

Speichere dann eine leere index.html Seite auf deinen server und wiederhole den Test

Wenn die Zeiten ähnlich sind ist es eindeutig ein Serverproblem (Server überladen, falsch konfiguriert, defekte Hardware etc), wenn die TTFB im zweiten Test signifikant kürzer ist, kannst du davon ausgehen, dass deine Shopkonfiguration Ursache des Problems ist (oder die Severvoraussetzungen nicht de Prestashop 1.6 Anforderungen entsprechen).

 

Grüsse

Whiley

Link to comment
Share on other sites

Ein paar Infos:

Prestashop 1.6.0.9.

Template-Dateien nie neu kompilieren

CCC (Verkettung, Kompression und Caching)       - alles JA

Cache verwenden - Ja -> Dateisystem

 

Ich freue mich auf eure Antworten! Danke im Voraus!

 

Dann versuch es mal so:

  • Template-Dateien nie neu kompilieren

     

  • "Smart Cache" für Stylesheets JA

    (Nur anklicken, wenn sich dadurch das Template nicht verzieht - das kann besonders bei 1.5x passieren. In diesem Fall Konventionelle Funktionsweise beibehalten bzw. NEIN bei 1.6x wählen.)

     

  • "Smart Cache" für JavaScript  JA

     

  • Reduzierung des HTML-Codes NEIN

     

  • Kompression von JavaScript im HTML-Code NEIN

     

  • JavaScript ans Ende verschieben JA

     

  • Apache-Optimierung enabled.gif

     

  • Vor den Code der .htaccess einfügen:

     

    <ifmodule mod_mime.c>
     <filesmatch ".html.gz$">
       ForceType text/html
       FileETag None
     </filesmatch>
      AddEncoding gzip .gz
      AddType text/html .gz
    </ifmodule>
    <ifmodule mod_deflate.c>
    0  SetEnvIfNoCase Request_URI .gz$ no-gzip
    </ifmodule>
    <ifmodule mod_headers.c>
      Header set Vary "Accept-Encoding, Cookie"
      Header set Cache-Control 'max-age=3600, must-revalidate'
    </ifmodule>
    <ifmodule mod_expires.c>
      ExpiresActive On
      ExpiresByType text/html A3600
    </ifmodule>
    
    (Vor den Code, damit es bei einer Neuerstellung der .htaccess nicht überschrieben wird)

    Damit wird das Zeitlimit jeder Ressourcenanforderung von deiner Website auf 3600 Sekunden eingestellt, so dass der Kunde bei der nächsten Anfrage derselben Seite auf seinen Browser-Cache zurückgreift und sich freut, dass die Seite so schnell lädt.

     

    Anmerkung: Das gilt allerdings auch fürs Back Office! Wer also viel aktualisiert, sollte diese Erweiterung der .htaccess besser nicht nutzen, da er/sie sonst dauernd die Seite aktualisieren müsste, um den letzten Stand auch wirklich angezeigt zu bekommen.

     

  • Eventuell unten noch Cache (z.B. memcached) aktivieren. Oder wie bei dir: Dateisystem. Muss aber nicht unbedingt von Vorteil sein!
Edited by eleazar (see edit history)
Link to comment
Share on other sites

Danke für die Tipps! Ich habe jetzt die 8 Punkte oben (Smart-Cache etc.) so übernommen und der Shop läuft schon etwas schneller.

Die Ladezeit dürfte wirklich mit Prestashop zu tun haben, da eine andere Index-Datei auf dem gleichen Server als First Byte Zeit nur 0,11sek hat. Hat den niemand sonst Probleme mit der Ladezeit seit dem Upgrade?

 

Wenn ich den Text für die .htaccess Datei reinkopiere, bekomme ich nur noch einen "Internal Server Configuration" Fehler beim Aufrufen der Seite. Ich habe die htacess Datei per FTP runtergeladen, den Text ganz oben einfach mit Copy/Paste eingefügt und die Datei wieder mit FTP raufgeladen und die Originaldatei überschrieben. Leider kommt dann der undefinierte Fehler. Wenn ich den Text wieder entferne und die Datei im Originalzustand wieder rauflade, geht alles wieder. Woran könnte das liegen?

 

Vielen Dank!

Link to comment
Share on other sites

hallo nochmals!

 

Ich dreh bald durch, also bitte ich wirklich um eure Hilfe. Ich habe jetzt tagelang herumprobiert und der Shop steht leider noch immer -und muss am Mittwoch wieder funktionieren.

 

Ich habe das Profiling aktiviert und die Ladezeiten für initContent und config sind viel zu hoch.

Bei config zw. 1500 - 8000ms und bei initContent zw. 900 - 81000ms (!!). SQL queries für die selbe Seite dauern zw. 35ms und 3000ms.

Ich habe mich jetzt schon durch so ziemlich alle Möglichkeiten die ich im Internet gefunden habe durchgekämpft und nichts hat wirklich geholfen.

Das Problem ist, dass die Zeiten von config, initContent, sql queries und display keinerlei Muster zu folgen scheinen. Also man lädt die Seite und z.B. initContent dauert 400ms, man lädt die Seite nochmals und es dauert 10000ms, etc.

Außerdem der Redirect von www.3DMarkt.at auf > index.php dauert bis zu 10 Sekunden (!)

 

Bereits gemacht:

memory_limit = 64M

file upload auf 16M gesetzt

Caching wie oben geraten gesetzt

Alle Template Recompile options durchprobiert

Viele viele Module deaktiviert (hat die Ladezeit des Headers (displayHeader) heruntergebracht)

Produkte in Überkategorien zusammengefasst

Alle Overrides deaktiviert

Alle "Nicht von PrestaShop entwickelte Module" deaktiviert

etc.

 

Ich lasse das Profiling an, also könnt ihr gerne selbst auf www.3DMarkt.at die Daten selbst einsehen.

 

Außerdem poste ich ein Resultat von einer Artikelseite noch hier:

 

Load time: 7953 ms
You'd better run your shop on a toaster
Execution Load time (ms)
config 2155
constructor 0
init 1002
checkAccess 0
setMedia 130
postProcess 0
initHeader 0
initContent 1191
initFooter 288
display 3188
Hook processing: 1066 ms / 3.64 Mb
28 methods called in 16 modules
Hook Processing
displayHeader 2.17 Mb in 439 ms
displayFooter 0.38 Mb in 287 ms
displayLeftColumn 0.55 Mb in 117 ms
displayTop 0.42 Mb in 95 ms
displayFooterProduct 0.06 Mb in 67 ms
displayNav 0.06 Mb in 59 ms
moduleRoutes 0.00 Mb in 0 ms
displayTopColumn 0.00 Mb in 0 ms
displayProductDeliveryTime 0.00 Mb in 0 ms
displayBanner 0.00 Mb in 0 ms
actionDispatcher 0.00 Mb in 0 ms
actionFrontControllerSetMedia 0.00 Mb in 0 ms
displayLeftColumnProduct 0.00 Mb in 0 ms
DisplayOverrideTemplate 0.00 Mb in 0 ms
displayProductPriceBlock 0.00 Mb in 0 ms
displayProductTabContent 0.00 Mb in 0 ms
displayProductContent 0.00 Mb in 0 ms
actionProductOutOfStock 0.00 Mb in 0 ms
displayProductButtons 0.00 Mb in 0 ms
displayRightColumnProduct 0.00 Mb in 0 ms
displayProductTab 0.00 Mb in 0 ms
Memory peak usage: 23.1 Mb
Execution Memory (Mb) Total (Mb)
config 10.05 10.1
constructor 0.00 10.1
init 7.18 18.1
checkAccess 0.00 18.1
setMedia 0.21 18.1
postProcess 0.00 18.1
initHeader 0.00 18.1
initContent 3.75 21.9
initFooter 0.39 22.5
display 1.14 23.1
Total cache size (in Cache class): 0.00 Mb
DB type: DbPDO
SQL Queries: 28 queries
Time spent querying: 101 ms
Included files: 184
Size of included files: 3.02 Mb
Globals (> 1 Ko only): 279 Ko

    _LANG ≈ 128.3 Ko
    _MODULES ≈ 124.9 Ko
    HTTP_SERVER_VARS ≈ 4.8 Ko
    _SERVER ≈ 4.8 Ko
    HTTP_ENV_VARS ≈ 4.2 Ko
    _ENV ≈ 4.2 Ko
    _MODULE ≈ 2.6 Ko
    _COOKIE ≈ 1 Ko
    HTTP_COOKIE_VARS ≈ 1 Ko

 

Bitte, Danke!

Link to comment
Share on other sites

Dein Problem ist nach wie vor die TTFB

post-467854-0-23694500-1410778351_thumb.jpg

"FineTuning -Massnahmen" nützen dir da nichts.

Wenn du sicher bist, dass es nicht am Server liegt (s. mein Post oben) schalte die ccc ab, nimm die .htaccess heraus, überprüfe nochmal ob die Serveranforderungen für PS1.6 gegeben sind (memory-limit 64M geht garnicht --> 256M etc) ... und beobachte bei den Änderungen jeweils die Auswirkungen auf die TTFB.

 

Grüsse

Whiley

 

Link to comment
Share on other sites

Hallo Whiley,

 

Danke für deine Antwort. Also, ich habe mich mit iPage in Kontakt gesetzt. Das max. memory-limit das bei Shared hosting möglich ist, ist 128MB (die ich jetzt eingestellt habe).

Caching mit etwas anderem als "Dateisystem" ist nicht möglich.

 

Die einzige Antwort die ich auf alle anderen Fragen zur Performance bekommen habe (wie z. B. "gab es eine Änderung beim Server auf dem die Database gehostet wird", oder "kann man die Database auf einen anderen Server verschieben"), war "you should get VPS hosting"....

 

Mein Prestashop 1.5.6.1 ist ohne Probleme und schnell gelaufen - ist 1.6 wirklich soviel aufwendiger das man VPS braucht (bei 100 Produkten)?

 

Ich werde jetzt eine 2. Instanz von Prestashop installieren und schauen ob die dieselben Probleme hat, und Prestashop 1.5 installieren...sonst wechsel ich halt zurück....

 

Danke soweit! :)

Link to comment
Share on other sites

Also gut. Ich habe jetzt eine 2. Instanz installiert auf einer anderen Domain am gleichen Server. Die absolute Out-of-the-box Version von Prestashop 1.6 funktioniert nur unglaublich langsam auf meinem Shared Hosting iPage Server.

 

Ich werde also als zwischenzeitliche Lösung versuchen 1.5.6.1. wieder zu installieren und zu benutzen......zu blöd, aber was solls.

 

Danke für die Hilfe!

Link to comment
Share on other sites

@thapan

Die in diesem Link beschriebene Lösung funktioniert im Moment nicht, den Fehler könnte man so lösen:

http://www.prestashop.com/forums/topic/355398-fehlende-datei-im-cache/?do=findComment&comment=1789848

 

Im vorliegenden Fall kann das(fehlende class_index.php) aber nicht die Ursache sein, da versuchsweise ja alle Overrides schon mal deaktiviert wurden.

 

Grüsse

Whiley

Link to comment
Share on other sites

Also, meine Installation hatte tatsächlich keine /cache/class_index.php - Datei. Ich habe also die classes/PrestaShopAutoload.php - Datei von Github runtergeladen und auf dem Server einfach überschrieben.

 

Das hat die Ladezeit meiner Startseite von 7-50 Sek. auf 2-7 Sek runtergebracht. Die Seite ist im Moment trotzdem kein Geschwindigkeitswunder, aber absolut wieder benutzbar. Ich werde also dranbleiben und ein paar Kleinigkeiten ausprobieren und hoffe, dass vielleicht die 1.6.0.10 noch ein bisschen schneller wird.

 

 

Außerdem habe ich testweise noch eine 1.5.6.1 Version installiert (wie sie vor dem Update war) und die ist im Moment auch langsamer als sie war. Also ist vielleicht das Hosting o. ä. im Moment auch ein bisschen überfordert.

 

 

Vielen, vielen Dank! Ihr habt mir sehr geholfen. Ich weiß es zu schätzen :)

 

P.S.: Soll ich das Thema als <solved> markieren - kenn die Forumregeln noch nicht so gut.

 

Hier noch ein paar genauere Angaben zu meiner Konfiguration solltet ihr ein ähnliches Problem haben:

 

Template-Dateien nie neu kompilieren

 

Debug-Modus – beides NEIN

 

CCC – alles JA

 

Cache verwenden – JA > Dateisystem / Anzahl der Ebenen des Verzeichnisbaums „1“

 

 

Link to comment
Share on other sites

 

P.S.: Soll ich das Thema als <solved> markieren - kenn die Forumregeln noch nicht so gut.

Bitte vor die Überschrift [gelöst] eintragen!

 

Grüsse

Whiley

 

PS

Ich vermute du hast gegenüber der alten Zeit-Messung inzwischen den memory-limit auf 128M eingestellt!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...