[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