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