[linux-l] HTTP vs. HTTPS Performance
Niels Ehlers
niels80 at gmx.net
Di Apr 29 11:37:34 CEST 2008
Hallo zusammen,
mit unseren Studenten machen wir in jedem Semester eine Simulation der Strombörse.
Das System ist ein Konstrukt aus Apache,Perl,MySQL,Ajax und Gnuplot.
Leider ging der alte Server (2x1GHz, 2GB Ram) schon bei
30 Mitspielern in die Knie. Und selbst das neue System (Virtueller Server im Rechenzentrum, CPU ohne Ende) ist extrem langsam.
Newsticker und ähnliches hab ich schon mit Fast-CGI ausgelagert, aber es scheint, dass das Problem bei der Verschlüsselung liegt
(siehe Benchmark unten).
Ist da etwas extrem schlecht konfiguriert oder ist der Overhead von https derart hoch?
Danke für alle Hinweise!
Viele Grüße,
Niels
TU Berlin
HTTP:
Requests per second: 647.00 [#/sec] (mean)
Time per request: 309.119 [ms] (mean)
HTTPS:
Requests per second: 25.20 [#/sec] (mean)
Time per request: 7935.197 [ms] (mean)
Soviel dazu, hab es jetzt fürs Börsenspiel ausgeschaltet.
1. Benchmark mit https:
ensys:/tmp# ab -n 2000 -c 200 https://ensys.service.tu-berlin.de/Stromboersenspiel/cgi-bin/get_chat.fpl
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking ensys.service.tu-berlin.de (be patient)
Completed 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Finished 2000 requests
Server Software: Apache/2.2.3
Server Hostname: ensys.service.tu-berlin.de
Server Port: 443
SSL/TLS Protocol: TLSv1/SSLv3,DHE-RSA-AES256-SHA,2048,256
Document Path: /Stromboersenspiel/cgi-bin/get_chat.fpl
Document Length: 896 bytes
Concurrency Level: 200
Time taken for tests: 79.351974 seconds
Complete requests: 2000
Failed requests: 0
Write errors: 0
Total transferred: 2350680 bytes
HTML transferred: 1847552 bytes
Requests per second: 25.20 [#/sec] (mean)
Time per request: 7935.197 [ms] (mean)
Time per request: 39.676 [ms] (mean, across all concurrent requests)
Transfer rate: 28.92 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 54 3978 2004.5 3802 10031
Processing: 772 3775 1745.7 3844 6851
Waiting: 10 2330 1530.0 2171 5428
Total: 1757 7753 1686.6 7577 16295
Percentage of the requests served within a certain time (ms)
50% 7577
66% 7626
75% 7650
80% 7706
90% 9486
95% 11178
98% 12617
99% 13195
100% 16295 (longest request)
ensys:/tmp#
2. Benchmark mit http
ensys:/tmp# ab -n 2000 -c 200 http://ensys.service.tu-berlin.de/Stromboersenspiel/cgi-bin/get_chat.fpl
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking ensys.service.tu-berlin.de (be patient)
Completed 200 requests
Completed 400 requests
Completed 600 requests
Completed 800 requests
Completed 1000 requests
Completed 1200 requests
Completed 1400 requests
Completed 1600 requests
Completed 1800 requests
Finished 2000 requests
Server Software: Apache/2.2.3
Server Hostname: ensys.service.tu-berlin.de
Server Port: 80
Document Path: /Stromboersenspiel/cgi-bin/get_chat.fpl
Document Length: 896 bytes
Concurrency Level: 200
Time taken for tests: 3.91193 seconds
Complete requests: 2000
Failed requests: 0
Write errors: 0
Total transferred: 2280000 bytes
HTML transferred: 1792000 bytes
Requests per second: 647.00 [#/sec] (mean)
Time per request: 309.119 [ms] (mean)
Time per request: 1.546 [ms] (mean, across all concurrent requests)
Transfer rate: 720.11 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 52 382.3 0 3004
Processing: 6 150 59.5 156 2383
Waiting: 4 150 59.7 156 2382
Total: 48 203 370.0 157 3038
Percentage of the requests served within a certain time (ms)
50% 157
66% 160
75% 163
80% 165
90% 170
95% 184
98% 211
99% 3028
100% 3038 (longest request)
Mehr Informationen über die Mailingliste linux-l