2009-05-12 12 views
0

Viele von uns haben Web-und Anwendungsserver, die Plain TCP verwenden.ssl Auswirkungen auf den Webserver

Einige von uns haben Web- und andere Server, die eine sichere Schicht wie SSL verwenden.

Mein Verständnis von SSL ist, dass das Handshaking sehr rechenintensiv ist, und die Verschlüsselung einer laufenden Verbindung ist (relativ) billig.

Meine Annahme für Sie zu korrigieren: eine durchschnittliche Hosting-Box (und Informationen über das, was bei Cloud-Hosting ist durchschnittlich wäre cool) könnte leicht erwartet, in der Lage, seine Netzwerkverbindungen mit AES-verschlüsselten Paketen zu sättigen, aber haben Schwierigkeiten, tausend RSA-Handshakes pro Sekunde auszuführen. Die Client-Authentifizierung mit Zertifikaten ist für den Server wesentlich teurer als anonyme Clients.

Welche Faustregeln für die Anzahl der Sitzungseinstellungen pro Sekunde für SSL gibt es?

+0

Ich denke, du meinst plain HTTP, nicht plain TCP. –

+0

Es scheint zwischen 33 und 50% des Serverdurchsatzes zu kosten. Wie repräsentativ für andere Server-Workloads unser Nutzungsverhalten ist, ist leider nicht offensichtlich. – Will

Antwort

2

Warum nicht einfach messen? Es gibt Ihnen echte Zahlen auf der genauen Software und Hardware, die Sie verwenden. Sie werden auch in der Lage sein, die Auswirkungen von Änderungen in der Server-Infrastruktur zu messen (Hinzufügen von mehr Boxen, SSL-Beschleunigern, Optimierungs-Parametern, was haben Sie).

Sie haben Recht, dass es Ihnen schwerfallen würde, auf einer einzigen Box 1000 SSL-Handshakes pro Sekunde zu erreichen. In der Tat würde ich sagen, dass es wahrscheinlich unmöglich ist. Ein paar Dutzend pro Sekunde, kein Problem. Tausend, nicht ohne viel Geld.

Es ist auch wahrscheinlich, dass Sie nicht wirklich 1000 Handshakes pro Sekunde benötigen. Das ist ziemlich viel, und Sie würden bereits ziemlich viel Verkehr benötigen, um etwas so zu brauchen: Sieh dieses: What do I need in SSL TPS Performance?

Erinnern Sie sich, dass Sie normalerweise nicht neue SSL Handshakes die ganze Zeit tun werden. Browser führen den Handshake einmal aus und halten die Verbindung über eine Anzahl von Anfragen und/oder Seitenaufrufen offen, so dass Ihr Bedarf an Handshakes pro Sekunde viel niedriger ist, als Sie denken.

+0

Ein paar tausend auf einer einzigen Box ist sicherlich möglich, obwohl es eine teure Multi-Prozessor/Multi-Core-Box sein wird, vor allem mit 2048-Bit-Schlüssel. z.B. http://www.riverbed.com/assets/media/documents/briefs/FeatureBrief-Riverbed-Stingray_SSL_Offload.pdf "Stärkere 2048-Bit-Schlüssel sind ratsam, die etwa fünfmal rechenintensiver sind. Budget für ca. 600 neue Handshakes pro Sekunde pro Kern oder mehr als 7.000 neue SSL-Handshakes auf einem 12-Core-Server. " – armb

+0

@armb, ja. Die Dinge haben sich in 4,5 Jahren geändert, so dass die dafür notwendige Hardware nicht mehr ohne verrückte Kosten durchführbar ist. In weiteren 5 Jahren wird es wahrscheinlich ziemlich erschwinglich sein. –

+0

Ich hatte nicht bemerkt, wie alt die Antwort war, sie kam auf der Suche nach etwas anderem. Aber vor 4,5 Jahren konnte man mit 1024-Bit-RSA davonkommen. (Vor neun Jahren konnte man eine Karte mit 10.000 Verbindungen pro Sekunde kaufen, nicht nur 1000. Keine typische Hosting-Box. http: //www.businesswire.com/news/home/20050801005542/de/nCipher-Announces-Familie-SSL-Offload-Boards-nFast # .UsV-lZBdUmU) – armb

0

Wie Ville sagte, gibt es keine echte Option, um es dann auf Ihrer Konfiguration auszuprobieren. Unterschätzen Sie jedoch nicht die symmetrische Verschlüsselung von Daten nach dem Verbindungsaufbau. Es ist zwar weniger kostenintensiv, aber wenn Sie viele Daten über den verschlüsselten Kanal herunterladen, kann dies viel mehr kosten als die anfängliche Verhandlung.

Also für diese müssen Sie ein gemeinsames Szenario für die Nutzung Ihrer Website und dann Stresstest erstellen.