Plone Performance Tuning
Posted: 2007-05-14 13:43
Hallo,
meine Plone-basierte Website fühlt sich etwas "träge" an (nahezu Standard-Layout). Um das Rendering im Browser ausschließen zu können und das Bauchgefühl mal mit Fakten zu untermauern, habe ich die Site gestern mit httperf unter die Lupe genommen und mit Entsetzen festgestellt, dass ich so zwischen 1,5 und 3 Requests pro Sekunde hinbekomme. Auf der Seite ist nicht allzu viel los, aber der gefühlt langsame Seitenaufbau nervt (bei ca. 300 - 500 ms pro Request, mehreren Stylesheets und Layout-Grafiken etc. summiert sich das ganz schön).
beim googlen nach Performance Tuning für Plone und Zope bin ich bisher auf zwei Hauptthemen gestoßen: vorgeschalteter Caching Proxy und ZEO. Ehrlich gesagt halte ich beide für mit Kanonen auf Spatzen geschossen, aber wenn's nicht anders geht...
Wenn Cache Proxy, worauf würdet ihr setzen? Squid? Apache? oder etwas völlig anderes? Bei Lighty macht mir die unvollständige Dokumentation von mod_proxy und mod_mem_cache noch zu schaffen...
Wie steht's mit ZEO? Verhindert das globale Interpreterlock von Python wirklich, dass innerhalb einer Prozessgruppe immer nur jeweils ein Thread laufen kann, auch auf einem SMP-System?
Und zu guter letzt: Gibt es noch andere Möglichkeiten als die genannten? Wie habt ihre eure Zope/Plone-Sites beschleunigt?
meine Plone-basierte Website fühlt sich etwas "träge" an (nahezu Standard-Layout). Um das Rendering im Browser ausschließen zu können und das Bauchgefühl mal mit Fakten zu untermauern, habe ich die Site gestern mit httperf unter die Lupe genommen und mit Entsetzen festgestellt, dass ich so zwischen 1,5 und 3 Requests pro Sekunde hinbekomme. Auf der Seite ist nicht allzu viel los, aber der gefühlt langsame Seitenaufbau nervt (bei ca. 300 - 500 ms pro Request, mehreren Stylesheets und Layout-Grafiken etc. summiert sich das ganz schön).
beim googlen nach Performance Tuning für Plone und Zope bin ich bisher auf zwei Hauptthemen gestoßen: vorgeschalteter Caching Proxy und ZEO. Ehrlich gesagt halte ich beide für mit Kanonen auf Spatzen geschossen, aber wenn's nicht anders geht...
Wenn Cache Proxy, worauf würdet ihr setzen? Squid? Apache? oder etwas völlig anderes? Bei Lighty macht mir die unvollständige Dokumentation von mod_proxy und mod_mem_cache noch zu schaffen...
Wie steht's mit ZEO? Verhindert das globale Interpreterlock von Python wirklich, dass innerhalb einer Prozessgruppe immer nur jeweils ein Thread laufen kann, auch auf einem SMP-System?
Und zu guter letzt: Gibt es noch andere Möglichkeiten als die genannten? Wie habt ihre eure Zope/Plone-Sites beschleunigt?