Der beste Weg, um die Leistung authentifizierter Benutzer zu optimieren?

22

Das Schlüsselwort hier ist authentifiziert !

Derzeit (soweit ich weiß) sind die de-facto-Möglichkeiten zur Optimierung für anonymen Zugriff statische Seiten-Caches (Lack / Tintenfisch / Boost).

Soweit ich weiß, scheint dies jedoch in einem Szenario, in dem die meisten Benutzer authentifiziert sind, nicht viel zu nützen.

Was ist neben dem offensichtlichen APC, Memcache und dem Werfen von Geld auf Hardware der beste Weg, um eine stark frequentierte Site mit überwiegend authentifizierten Benutzern leistungsmäßig zu optimieren?

Zum Beispiel: drupal.org, soziale Netzwerke, Communities usw.

Ich bin im Moment mehr an Drupal 6 interessiert, also kann ich mir vorstellen, dass sich MongoDB momentan nicht bewirbt ...

Alex Weber
quelle

Antworten:

13

Jede Site ist anders, daher sind andere Tricks erforderlich, um sie zum Laufen zu bringen. Hier sind diejenigen, die ich für unsere Websites für die angemeldete Leistung verwende.

Wenn Sie WIRKLICH wissen möchten, was den langsamen Code verursacht, sollten Sie Ihre Site zwischenspeichern. Was alles trägt zur Ausführungszeit von Drupal-Seiten bei?

edit: Es sieht so aus, als würde die 7.x-Version von Auth Cache gerade entwickelt. Ich habe es nicht benutzt, aber etwas, in das ich schauen muss.

mikeytown2
quelle
Danke für die Tipps, einige interessante Module dabei! Ich lasse das aber noch ein paar Tage offen :)
Alex Weber
Ich erinnere mich an einen gdo-Thread, in dem Sie über die Verwendung von ESI für Drupal-Blöcke gesprochen haben. Wissen Sie, wo wir damit sind?
Andy
6.x - drupal.org/project/esi 7.x - drupal.org/project/esi_api Noch nicht in der Produktion verwendet; habe es auf unseren Testservern benutzt und es scheint zu funktionieren.
mikeytown2
1
@ mikeytown2 Du bist der Allzeit-Performance-Star!
AyeshK
4

Installieren Sie Authenticated User Page Caching (Authcache) und Easy Authcache und schreiben Sie Ihre benutzerdefinierten Plugins für einen einfachen Authcache. Plugins macht einige Teile der Seite mit Ajax zu bekommen. So wird ein großer Teil der Seite zwischengespeichert und ein wechselnder Teil mit Ajax abgerufen. Sie können Lack und andere Proxys verwenden, um solche Seiten zwischenzuspeichern.

Igor Rodinov
quelle
3

Profilieren Sie Ihre langsamen Seiten mit XHProf. Das ist das beste Tool, um zu zeigen, welche Funktionen langsam sind. Das andere hilfreiche Tool ist das langsame Abfrageprotokoll von MySQL.

Moshe Weitzman
quelle
2

Drupal.org läuft wirklich auf Pressflow 6 und verwendet Varnish . Der Inhalt wird mithilfe eines Lastenausgleichs bereitgestellt, und das Datenbankmodul ist wahrscheinlich MariaDB .

Wenn Sie eine Site haben, die Drupal.org hinsichtlich der Anzahl der registrierten Benutzer und der Anzahl der Knoten ähnelt, sollten Sie prüfen, ob Sie Pressflow verwenden können. Der nächste Schritt ist wahrscheinlich die Überprüfung, ob Sie MariaDB anstelle von MySQL verwenden können.

kiamlaluno
quelle
Interessanterweise habe ich nicht bemerkt, dass Drupal.org MariaDB verwendet hat. Bietet es eine solche Leistungsverbesserung?
Alex Weber
Etwa 10% nutzen wir auch MariaDB. Ich möchte als nächstes percona.com/software/percona-server evaluieren, da es sich in rasantem Tempo weiterzuentwickeln scheint.
mikeytown2
Interessantes Zeug!
Alex Weber