Hallo,
ich betreibe einen Webserver (Zwei Xeon-Prozessoren, je 3 GHz, HT aktiviert, virtuell also 4 Prozessoren, 2 GB RAM, Debian Etch, Apache 2.2). Auf diesem laufen ein Apache, ein Java Application Server (Tomcat) und testweise gerade ein thttpd.
Folgendes Problem: http-Abrufe sind schnell genug, https-Abrufe um einen Faktor 10 langsamer (und damit zu langsam).
Im Benchmark habe ich via "ab" jeweils 100 Seiten parallel abrufen lassen (das ist unsere Zielgröße, wenn er 100 Seiten durchgängig in unter einer Sekunde schafft, dann schafft er die angepeilten 1000 User, die etwa alle 10 s den nächsten Link anklicken).
Für statische Seiten ergibt sich als Gesamtdauer für alle Abrufe:
Apache/http: 0,26 s Apache/https: 2,5 s thttpd/http: 4,89 s (am "dicken" Apachen scheints also nicht zu liegen)
Für dynamische Inhalte vom Java Appl. Server (der darf nur per HTTPS erreichbar sein):
Apache/https: 2,91 s
(Wie geschrieben sind Werte unterhalb von 1 s nötig)
Ich schlussfolgere aus den Werten, dass mir Optimierungen am JBoss und der Java-App nichts bringen werden (da er für 100 Java-Seiten offensichtlich nur 0,4 s benötigt). "Schuld" scheint hingegen https: Die Verzehnfachung der Dauer von 0,26 s bei http zu 2,5 s bei https für Auslieferung der exakt selben Seiten ist erheblich.
Was habt ihr so an CPU-Verbrauch für HTTPS bei euren Servern? Hat jemand Ideen, wie man die https-Leistung das Apache steigern könnte? Hat jemand "RSA Service Processor Cards" oder dergleichen im Einsatz? Gibt es sowas als PCI-Karten oder nur onboard bei den schweren Geschützen von IBM und SUN?
Auch andere Anregungen sind sehr gern gesehen!
Danke im Voraus & Viele Grüße Fabian