Tel. 06151 / 39 10 793

Drupal Performancetest mit jmeter und varnish

Da wir für unser Projekt "Krupion" unsere iPhone Kreuzworträtsel - App bereits zum Prüfen bei Apple im App-Store eingereicht haben, quälen uns gelegentlich die Gedanken, ob das Backend, welches wir mit Drupal umgesetzt haben, einem "Ansturm" der Kreuzworträtsel-Fans standhalten kann.
Die iPhone App ruft das täglich automatisch generierte Kreuzworträtsel von Krupion ab. Natürlich verwenden wir Drupal-Pressflow und Varnish, damit wir den aktuell stetig steigenden Traffic mit einer "Small Instance" auf Amazon EC2 bewältigen können. Dennoch traute ich der Sache nicht so ganz und wollte es genau wissen, bevor es mit der iPhone App richtig los geht.
Ich habe mir also jmeter heruntergeladen und ein Testszenario angelegt, welches dem Download des Tagesrätsels durch eine iPhone-App User gleich kommt.
Natürlich habe ich erstmal klein mit 100 gleichzeitigen Usern über 5 Sekunden angefangen, die jeweils 2 Requests pro User ausführen und ich habe dabei natürlich den Load des Servers nicht aus dem Auge gelassen. Dieser hat sich jedoch um keinen signifikanten Wert erhöht und die durchschnittliche Reaktionszeit liegt bei 100 Millisekunden. Zu beachten ist, dass auf dem Server die beiden Portale Rätsel-Contest und Krupion im Betrieb sind und Abends gegen Feierabend und in der Mittagszeit Ihren Peak haben.
Dann habe ich die User auf 500 erhöht, die Spannung steigt, doch auch das kann der Server dank Varnish locker verkraften.
Wollen wir nicht geizen, wir hoffen ja auf eine Erfolgreiche App im Appstore und viele fleißige Kreuzworträtselspieler auf dem iPhone. 1000 User, 2000 User 5000 User, ja sogar 8000 User hat der Server im laufenden Betrieb noch geschafft und der Load ist nur leicht angestiegen und die Reaktionszeit auf 190 Milisekunden gesunken, was wir ohne Probleme verkraften können. 10.000 war auch kein Problem und weiter wollte ich dann nicht testen, wir wollen ja mal nicht zu optimistisch werden was den Release-Tag angeht ;-).
Varnish schafft es also den Server enorm zu entlasten und bringt im Vergleich zu Cachingsystemem wie Boost, die ja nach wie vor den Apache zum Ausliefern des Content bemühen müssen, einen extremen Schub an Performance.
Wir werden uns die Tage einmal eine weitere Instanz in der Amazon-Cloud aufsetzen und Drupal mal mit den verschiedenen Cachingsystemen wie Core Cache, Boost und Varnish mit unterschiedlichen Modulkonfigurationen testen. Ein Blogeintrag folgt selbstverständlich.

Ein Beitrag über die unterschiedlichen Caching-Systeme im Vergleich und Test wäre echt klasse. Ist derzeit leider noch ein Gebiet, was ich nur vom Hörensagen kenne und wo sich wenig brauchbare deutschsprachige Infos zum Einstieg finden lassen. Eure Artikel zu Varnish und Boost habe ich mir jedoch direkt einmal zu Gemüte geführt.

Bild von pistner

Auch daran arbeiten wir, es wird bald einen kleine Studie zur Performance geben. Zusammengefasst kann ich dir sagen, dass die folgenden Cachingsysteme folgende Performanceschübe geben:

- APC (+)
- Drupal Caching (+++)
- Boost (++++)
- Varnish (++++++)

So würde ich es vergleichen und sortieren.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
CAPTCHA
Diese Frage hat den Zweck zu testen, ob Sie ein menschlicher Benutzer sind und um automatisierten Spam vorzubeugen.
So finden Sie uns