Auswertung eines Benchmarks

converge

New Member
Hallo zusammen,

ich bin derzeit dabei, auf meinem VServer, auf dem ein paar TYPO3-Instanzen laufen, die Performance zu verbessern. Dazu habe ich einen gewissen Lastentest durchgeführt. Mir ist dabei aufgefallen, dass es in dieser Zeit über 100 laufende Apache-Tasks gab. Ich denke aber, das ist normal oder? Sonst wäre es ja kein Lastentest :-)

Könnt ihr euch die Auswertung mal anschauen? Ist da was auffälliges?

Danke

Code:
Server Software:        Apache/2.2.8
Server Hostname:        www.xxx.xx
Server Port:            80

Document Path:          /
Document Length:        19432 bytes

Concurrency Level:      100
Time taken for tests:   477.505170 seconds
Complete requests:      1000
Failed requests:        7
   (Connect: 0, Length: 7, Exceptions: 0)
Write errors:           0
Non-2xx responses:      7
Total transferred:      19628543 bytes
HTML transferred:       19303795 bytes
Requests per second:    2.09 [#/sec] (mean)
Time per request:       47750.516 [ms] (mean)
Time per request:       477.505 [ms] (mean, across all concurrent requests)
Transfer rate:          40.14 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   3.5      0      18
Processing:   427 46579 23669.8  41457  224951
Waiting:      419 46339 23652.7  41155  224438
Total:        428 46581 23669.5  41457  224958

Percentage of the requests served within a certain time (ms)
  50%  41457
  66%  47007
  75%  51607
  80%  55621
  90%  65835
  95%  71222
  98%  135723
  99%  157554
 100%  224958 (longest request)
 
Hast du den Benchmark von einem externen Server ausführen lassen, oder vom Server wo auch selbst der Apache drauf läuft?

Vielleicht ein paar Vergleichswerte für dich, auch wenn ich als Webserver lighttpd nutze. Die gebenchmarkte Seite ist ein Wordpress-Blog. Der Benchmark wurde von einem externen Server ausgeführt:

Code:
Server Software:        lighttpd/1.4.28
Server Hostname:        XXX
Server Port:            80

Document Path:          /
Document Length:        88831 bytes

Concurrency Level:      100
Time taken for tests:   8.159 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      89144515 bytes
HTML transferred:       88831000 bytes
Requests per second:    122.57 [#/sec] (mean)
Time per request:       815.862 [ms] (mean)
Time per request:       8.159 [ms] (mean, across all concurrent requests)
Transfer rate:          10670.33 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2  112  41.9    121     191
Processing:   189  676  95.1    677     946
Waiting:       50  143  37.0    140     316
Total:        192  788 101.9    794     956

Percentage of the requests served within a certain time (ms)
  50%    794
  66%    817
  75%    829
  80%    850
  90%    892
  95%    908
  98%    921
  99%    930
 100%    956

Bei deinem Benchmark finde ich Time taken for tests: 477.505170 seconds wirklich bedenklich, das ist für 1000 Anfragen eine recht lange Zeit.

Edit: Jetzt erst gelesen das du einen vServer hast. Je nach Hardwareressourcen können 100 Apache-Prozesse schon mal einen vServer an seine Leistungsgrenze bringen.
 
Last edited by a moderator:
Ein durchschnittlicher Wert von 46 Sekunden je Anfrage deutet entweder darauf hin dass Apache kaempft oder du mehr Verbindungen aufbaust als der Apache gleichzeitig verarbeiten kann und somit diese in die Warteschlange kommen.

Die vom Vorposter angegebenen Lighttpd-Werte sind mit der Kombination vServer + Apache nicht unbedingt erreichbar aber binnen 0.5 Sekunden sollte eine normale Webseite ausgeliefert werden koennen solange du nicht ueber dem konfigurierten Limit des Servers bist ;)

Sofern du aber nicht Apache wegen htaccess-Support oder anderen Modulen brauchst wuerde ich dir aber zumindest ein Herumspielen mit NGINX, Hiwatha oder Lighttpd empfehlen.
 
Danke.

Der Benchmark wurde von einem anderen Server aus gestartet.

Ich bin leider recht stark auf htaccess angewiesen, da gerade realurl bei TYPO3 dies voraussetzt, aber auch andere "Dinge" über htaccess geregelt werden.

Aber ich glaube, mein Apache ist einfach sehr schlecht konfiguriert. Es kann also durchaus sein, dass mehr Vorgänge gestartet werden, wie der Apache verarbeiten kann. Hier ein paar Auszüge aus der Config:

Code:
Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   5000
</IfModule>

<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild  5000
</IfModule>

Fällt euch hier was auf?
 
Jetzt kam mir gerade noch eine Idee: Kann es sein, dass die nicht optimale Performance durch das openbasedir verursacht wird, anstatt durch den Apache selbst?

Der VHost hat die folgende Konfiguration:
Code:
<Directory "/var/www/vhosts/xxx.de/httpdocs">
php_admin_value open_basedir "/var/www/vhosts/xxx.de/httpdocs:/tmp:/var/www/vhosts/typo3source"
php_admin_value safe_mode_exec_dir "/var/www/vhosts/typo3source/im"
</Directory>

Hintergrund: Die verschiedenen Sourcen von TYPO3 liegen zentral auf dem Server. Die einzelnen lokalen TYPO3-Installationen greifen auf diese Sourcen zu. Allerdings muss ich dem VHost mitteilen, dass er das darf. Führt dies zu erhöhter Request-Zeit?
 
MaxKeepAliveRequests 100 sind meiner Meinung nach viel zu viel für einen kleinen vServer. Experimentiere da ein wenig rum, ggf. deaktivere KeepAlive eventuell sogar ganz.
 
Danke. Ich habe die vorhin schon auf 10 runtergeschraubt und den Timeout auf 5 reduziert. Hat Verbesserungen gebraucht, aber keine Wunder bewirkt. Der Hund liegt wohl irgendwo anders begraben.
 
Die Frage ist also: Was macht dein Server, während der Benchmark läuft?

Laß mal ein vmstat 1 10 oder top mitlaufen, damit du mehr Informationen bekommst.
 
Ich bin leider recht stark auf htaccess angewiesen, da gerade realurl bei TYPO3 dies voraussetzt, aber auch andere "Dinge" über htaccess geregelt werden.
http://www.bauer-martin.com/server/typo3-und-lighttpd-170.html
Bei "andere Dinge" sagt Google: "About 25,500,000 results (0.20 seconds) " :P

Jetzt kam mir gerade noch eine Idee: Kann es sein, dass die nicht optimale Performance durch das openbasedir verursacht wird, anstatt durch den Apache selbst?
Openbasedir fuehrt zu keinen nennenswerten Geschwindigkeitseinbussen.

Die einzelnen lokalen TYPO3-Installationen greifen auf diese Sourcen zu. Allerdings muss ich dem VHost mitteilen, dass er das darf. Führt dies zu erhöhter Request-Zeit?
Nein. Selbst wenn die Festplatte sehr lahm waere, haette der Kernel spaetestens nach paar Aufrufen sie allesamt im Cache vorgehalten und somit diesen Punkt ausser Kraft gesetzt. Bezgl PHP: siehe oben.
 
Um ehrlich zu sein, auf einem System mit mehreren Live-Seiten möchte ich den Webserver nicht gerade umstellen. Was ich jetzt gemacht habe: Ich habe mir einen weiteren VServer bestellt, auf dem ich die Performance optimieren möchte. Ein Testserver sozusagen. Auf einem Live-System ständig am Apache rumzuschrauben oder gar einen komplett neuen Webserver ins Spiel zu bringen ist mir etwas zu heikel. Klar könnte jetzt die berechtigte Frage kommen: Warum direkt ein VServer bestellen und nicht erst mal in einer virtuellen Maschine testen.
Um dieser Frage vorzubeugen: Natürlich habe ich auch mehrere virtuelle Maschinen, um dies zu testen. Allerdings sind die VServer bei den Providern schon entsprechend vorkonfiguriert. Ich denke, dass die schlechte Performance schon in dieser vorkonfigurierten Form zustande kam und es ist recht schwer, dass System, welches ich nicht selbst erstellt habe, hier nachzubauen...
 
Zum Thema lighttpd

Link

Interessant dies:

We compared lighttpd+FastCGI+PHP with Apache+mod_php. The results were the following:

Lighttpd did a substantially better job than Apache when serving static files.

Lighttpd did, however, not perform better than Apache when serving TYPO3 sites. In fact, it was a little slower (serving 20 Req/s compared to Apaches 23 Req/s, both with eAccelerator running). We couldn't confirm the 20 percent speed increase reported by others, maybe because TYPO3 was not simply outputting phpinfo().

Lighttpd, in our configuration, caused a lot less load on the server when serving TYPO3. The four (!) FastCGI-processes did almost the same work using less resources.

At a first glance, lighttpd seems to be a good option because of its lean design, neat configuration and scalability (e.g. the distribution of FastCGI processes on different machines and built-in loadbalancing).
 
Du hast aber schon verstanden, was dort stand, oder?

Was bringt dir der theoretische Vorteil von 3 req/s wenn Apache dein System killt?

Besonders wichtig ist dieser Satz:

Lighttpd, in our configuration, caused a lot less load on the server when serving TYPO3. The four (!) FastCGI-processes did almost the same work using less resources.

Sprich, lighttpd macht die gleiche Arbeit mit viel weniger Ressourcen - was gerade in deinem Fall wichtig wäre.

Übrigens ist ein Webserver-Wechsel auf lighttpd innerhalb von 3-4 h erledigt.
 
Wenn du auf einem Dedizierten Server ausreichend Ressourcen zur Verfügung hast, dann mag der Apache durchaus die bessere Option sein. Dein Problem scheint aber aktuell zu sein, dass du die benötigten Ressourcen eben nicht in ausreichendem Maße auf deinem vServer zur Verfügung stellen kannst. Ergo, bringt dir der vermeintliche Apache-Vorteil eigentlich nichts.

Ich persönlich verwende auch nur den lighttpd, auch für Typo3-Projekte (kein Massenhosting), da er in meinen Augen einfach der effizientere Webserver ist. Das wird ja auch durch diese Aussage hier unterstützt:

Lighttpd, in our configuration, caused a lot less load on the server when serving TYPO3. The four (!) FastCGI-processes did almost the same work using less resources.
 
So, ich habe nun erneut einen Benchmark durchlaufen lassen. Dieser wurde von einem anderen Server durchgeführt.

Code:
ab -n 1000 -c 100 http://www.xxx.yy/

Dabei habe ich mal die Ausgabe von top mitprotokolliert.

Das Ergebnis nach 100 Requests
Code:
top - 20:33:49 up 1 day, 19:17,  1 user,  load average: 16.12, 5.64, 2.03
Tasks:  64 total,  22 running,  42 sleeping,   0 stopped,   0 zombie
Cpu(s): 83.0%us, 17.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4194304k total,   260340k used,  3933964k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                              
34393 www-data  15   0 38348  15m 4256 S 13.3  0.4   0:10.42 apache2                                                                                                                               
34381 www-data  16   0 45300  22m 4252 R 12.5  0.6   0:12.09 apache2                                                                                                                               
34378 www-data  16   0 45292  22m 4268 R 10.5  0.6   0:10.59 apache2                                                                                                                               
34391 www-data  15   0 38988  16m 4228 S  7.4  0.4   0:07.95 apache2                                                                                                                               
37923 www-data  16   0 45188  22m 4100 R  6.7  0.6   0:01.89 apache2                                                                                                                               
34385 www-data  15   0 38384  16m 4268 S  5.4  0.4   0:07.81 apache2                                                                                                                               
34380 www-data  15   0 38384  16m 4252 S  5.2  0.4   0:09.91 apache2                                                                                                                               
34386 www-data  15   0 38520  16m 4588 S  2.8  0.4   0:05.31 apache2                                                                                                                               
37909 www-data  15   0 38452  15m 4100 S  2.8  0.4   0:01.54 apache2                                                                                                                               
37934 www-data  15   0 38452  15m 4100 S  2.6  0.4   0:00.85 apache2                                                                                                                               
37918 www-data  16   0 42072  19m 4272 R  0.7  0.5   0:03.50 apache2                                                                                                                               
34067 mysql     15   0  109m  14m 4404 S  0.5  0.4   0:01.19 mysqld                                                                                                                                
37957 www-data  20   0 33608  12m 3580 R  0.4  0.3   0:00.20 apache2                                                                                                                               
38121 www-data  23   0 34644  12m 3468 R  0.4  0.3   0:00.14 apache2                                                                                                                               
38127 www-data  25   0 33620  11m 3072 R  0.4  0.3   0:00.12 apache2                                                                                                                               
38133 www-data  25   0 33084  10m 3024 R  0.4  0.3   0:00.10 apache2                                                                                                                               
37919 www-data  18   0 36752  15m 3836 R  0.4  0.4   0:00.33 apache2                                                                                                                               
37958 www-data  15   0 37064  15m 3752 S  0.4  0.4   0:00.18 apache2                                                                                                                               
37959 www-data  22   0 33088  10m 3064 R  0.4  0.3   0:00.09 apache2                                                                                                                               
38134 www-data  25   0 34132  12m 3076 R  0.4  0.3   0:00.09 apache2                                                                                                                               
38135 www-data  25   0 34640  12m 3428 R  0.4  0.3   0:00.09 apache2                                                                                                                               
37935 www-data  18   0 37064  15m 3752 S  0.3  0.4   0:00.23 apache2                                                                                                                               
38256 www-data  21   0 31780 9500 2660 R  0.2  0.2   0:00.04 apache2                                                                                                                               
37924 www-data  18   0 35468  13m 3672 R  0.1  0.3   0:00.27 apache2                                                                                                                               
30164 mwohlsch  15   0 10336 1688 1092 S  0.0  0.0   0:00.12 sshd                                                                                                                                  
34375 root      24   0 30616  10m 5640 R  0.0  0.3   0:00.22 apache2                                                                                                                               
34379 www-data  15   0 38384  16m 4428 S  0.0  0.4   0:07.59 apache2                                                                                                                               
34387 www-data  15   0 38476  16m 4196 S  0.0  0.4   0:08.10 apache2                                                                                                                               
34392 www-data  15   0 38356  16m 4272 S  0.0  0.4   0:08.22 apache2                                                                                                                               
38257 www-data  22   0 31524 9056 2660 R  0.0  0.2   0:00.01 apache2                                                                                                                               
    1 root      15   0  1960  688  588 S  0.0  0.0   0:00.82 init                                                                                                                                  
12133 syslog    15   0  1840  636  500 S  0.0  0.0   0:00.24 syslogd                                                                                                                               
12161 bind      25   0 40676 6932 1908 S  0.0  0.2   0:00.01 named                                                                                                                                 
13354 root      25   0  4636  732  520 S  0.0  0.0   0:00.00 couriertcpd                                                                                                                           
13378 root      25   0  3152  748  576 S  0.0  0.0   0:00.00 courierlogger                                                                                                                         
13380 root      25   0  4636  728  520 S  0.0  0.0   0:00.00 couriertcpd                                                                                                                           
13382 root      25   0  3152  744  576 S  0.0  0.0   0:00.00 courierlogger                                                                                                                         
13390 root      18   0  4636  740  528 S  0.0  0.0   0:00.00 couriertcpd                                                                                                                           
13392 root      18   0  3284  896  708 S  0.0  0.0   0:00.00 courierlogger                                                                                                                         
13400 root      25   0  4636  728  520 S  0.0  0.0   0:00.00 couriertcpd                                                                                                                           
13402 root      25   0  3152  748  576 S  0.0  0.0   0:00.00 courierlogger                                                                                                                         
13417 root      18   0  8332 4520 1232 R  0.0  0.1   0:07.87 python                                                                                                                                
13486 root      18   0  5216  992  632 S  0.0  0.0   0:00.01 sshd                                                                                                                                  
13514 root      15   0  2328  844  680 S  0.0  0.0   0:00.01 xinetd                                                                                                                                
13597 qmails    15   0  1668  416  324 S  0.0  0.0   0:00.20 qmail-send                                                                                                                            
13599 qmaill    18   0  1624  480  408 S  0.0  0.0   0:00.00 splogger                                                                                                                              
13600 root      15   0  1652  388  292 S  0.0  0.0   0:00.00 qmail-lspawn                                                                                                                          
13601 qmailr    15   0  1648  388  292 S  0.0  0.0   0:00.00 qmail-rspawn                                                                                                                          
13602 qmailq    18   0  1620  360  288 S  0.0  0.0   0:00.01 qmail-clean                                                                                                                           
13951 sw-cp-se  18   0  4400 1480  800 S  0.0  0.0   0:00.41 sw-cp-serverd                                                                                                                         
14107 root      15   0  2008  840  664 S  0.0  0.0   0:00.41 cron                                                                                                                                  
14140 root      15   0 27840 4528 1808 S  0.0  0.1   0:02.23 fail2ban-server                                                                                                                       
30156 root      16   0 10180 2904 2336 S  0.0  0.1   0:00.05 sshd                                                                                                                                  
30165 mwohlsch  15   0  4564 2024 1360 S  0.0  0.0   0:00.01 bash                                                                                                                                  
30168 root      15   0  7168 1908 1488 S  0.0  0.0   0:00.00 su                                                                                                                                    
30178 root      16   0  4060 1792 1380 S  0.0  0.0   0:00.02 bash                                                                                                                                  
34027 root      25   0  1684  500  416 S  0.0  0.0   0:00.00 mysqld_safe                                                                                                                           
34070 root      25   0  2832  660  572 S  0.0  0.0   0:00.00 logger                                                                                                                                
34376 www-data  18   0 19812 3288  444 S  0.0  0.1   0:00.00 apache2                                                                                                                               
36558 root      18   0  2212 1060  820 R  0.0  0.0   0:00.05 top

Das Ergebnis in der letzten Runde
Code:
top - 20:46:12 up 1 day, 19:30,  1 user,  load average: 68.03, 56.57, 31.93
Tasks: 145 total,  41 running, 104 sleeping,   0 stopped,   0 zombie
Cpu(s): 84.6%us, 15.4%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4194304k total,   993292k used,  3201012k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                              
34392 www-data  16   0 38012  16m 4484 R  5.2  0.4   0:22.21 apache2                                                                                                                               
42779 www-data  16   0 42612  20m 4100 R  5.2  0.5   0:04.43 apache2                                                                                                                               
42430 www-data  16   0 44124  21m 4100 R  5.0  0.5   0:03.77 apache2                                                                                                                               
38127 www-data  16   0 37848  15m 4292 R  4.4  0.4   0:11.13 apache2                                                                                                                               
34380 www-data  16   0 44292  21m 4252 R  3.9  0.5   0:22.08 apache2                                                                                                                               
34386 www-data  15   0 38264  16m 4588 S  3.6  0.4   0:17.22 apache2                                                                                                                               
38258 www-data  16   0 46472  23m 4100 R  3.6  0.6   0:09.47 apache2                                                                                                                               
38259 www-data  16   0 46472  23m 4100 R  3.6  0.6   0:09.85 apache2                                                                                                                               
40172 www-data  15   0 37684  15m 4100 S  3.3  0.4   0:08.78 apache2                                                                                                                               
38121 www-data  15   0 37684  15m 4232 S  3.0  0.4   0:10.15 apache2                                                                                                                               
42780 www-data  16   0 45444  22m 4100 R  3.0  0.6   0:02.59 apache2                                                                                                                               
34378 www-data  16   0 44524  22m 4268 R  2.8  0.5   0:24.39 apache2                                                                                                                               
37959 www-data  16   0 46472  23m 4100 R  2.8  0.6   0:11.86 apache2                                                                                                                               
38133 www-data  15   0 44380  21m 4100 S  2.8  0.5   0:11.44 apache2                                                                                                                               
42052 www-data  16   0 45444  22m 4100 R  2.8  0.6   0:05.18 apache2                                                                                                                               
34393 www-data  16   0 44260  21m 4256 R  2.5  0.5   0:21.40 apache2                                                                                                                               
38135 www-data  16   0 46472  23m 4100 R  2.5  0.6   0:13.82 apache2                                                                                                                               
42051 www-data  16   0 45444  22m 4100 R  1.9  0.6   0:05.25 apache2                                                                                                                               
42778 www-data  16   0 46472  23m 4100 R  1.9  0.6   0:03.59 apache2                                                                                                                               
42782 www-data  16   0 46472  23m 4116 R  1.9  0.6   0:02.14 apache2                                                                                                                               
40588 www-data  15   0 46216  23m 4100 R  1.7  0.6   0:06.69 apache2                                                                                                                               
34391 www-data  16   0 46952  24m 4228 R  1.4  0.6   0:22.68 apache2                                                                                                                               
38257 www-data  16   0 46672  24m 4224 R  1.4  0.6   0:09.21 apache2                                                                                                                               
34067 mysql     21   0  125m  25m 4472 S  1.1  0.6   0:06.15 mysqld                                                                                                                                
37924 www-data  16   0 46524  23m 4236 R  1.1  0.6   0:15.20 apache2                                                                                                                               
37934 www-data  15   0 37428  15m 4224 S  1.1  0.4   0:13.92 apache2                                                                                                                               
38220 www-data  15   0 37684  15m 4100 S  0.8  0.4   0:07.48 apache2                                                                                                                               
38256 www-data  16   0 46216  23m 4100 R  0.8  0.6   0:10.42 apache2                                                                                                                               
44640 www-data  16   0 46216  23m 4100 R  0.8  0.6   0:01.92 apache2                                                                                                                               
38426 www-data  16   0 46216  23m 4100 R  0.6  0.6   0:08.76 apache2                                                                                                                               
40936 root      15   0  2212 1108  820 R  0.3  0.0   0:01.59 top                                                                                                                                   
    1 root      15   0  1960  688  588 S  0.0  0.0   0:00.82 init                                                                                                                                  
12133 syslog    15   0  1840  636  500 S  0.0  0.0   0:00.24 syslogd                                                                                                                               
12161 bind      25   0 40676 6932 1908 S  0.0  0.2   0:00.01 named                                                                                                                                 
13354 root      25   0  4636  732  520 S  0.0  0.0   0:00.00 couriertcpd                                                                                                                           
13378 root      25   0  3152  748  576 S  0.0  0.0   0:00.00 courierlogger                                                                                                                         
13380 root      25   0  4636  728  520 S  0.0  0.0   0:00.00 couriertcpd                                                                                                                           
13382 root      25   0  3152  744  576 S  0.0  0.0   0:00.00 courierlogger                                                                                                                         
13390 root      18   0  4636  740  528 S  0.0  0.0   0:00.00 couriertcpd                                                                                                                           
13392 root      18   0  3284  896  708 S  0.0  0.0   0:00.00 courierlogger                                                                                                                         
13400 root      25   0  4636  728  520 S  0.0  0.0   0:00.00 couriertcpd                                                                                                                           
13402 root      25   0  3152  748  576 S  0.0  0.0   0:00.00 courierlogger                                                                                                                         
13417 root      18   0  8332 4520 1232 R  0.0  0.1   0:07.92 python                                                                                                                                
13486 root      18   0  5216  992  632 S  0.0  0.0   0:00.01 sshd                                                                                                                                  
13514 root      15   0  2328  844  680 S  0.0  0.0   0:00.01 xinetd                                                                                                                                
13597 qmails    15   0  1668  416  324 S  0.0  0.0   0:00.20 qmail-send                                                                                                                            
13599 qmaill    18   0  1624  480  408 S  0.0  0.0   0:00.00 splogger                                                                                                                              
13600 root      15   0  1652  388  292 S  0.0  0.0   0:00.00 qmail-lspawn                                                                                                                          
13601 qmailr    15   0  1648  388  292 S  0.0  0.0   0:00.00 qmail-rspawn                                                                                                                          
13602 qmailq    18   0  1620  360  288 S  0.0  0.0   0:00.01 qmail-clean                                                                                                                           
13951 sw-cp-se  15   0  4400 1480  800 S  0.0  0.0   0:00.41 sw-cp-serverd                                                                                                                         
14107 root      15   0  2008  840  664 S  0.0  0.0   0:00.41 cron                                                                                                                                  
14140 root      15   0 27840 4528 1808 S  0.0  0.1   0:02.23 fail2ban-server                                                                                                                       
30156 root      16   0 10180 2904 2336 S  0.0  0.1   0:00.05 sshd                                                                                                                                  
30164 mwohlsch  15   0 10336 1700 1092 R  0.0  0.0   0:00.26 sshd                                                                                                                                  
30165 mwohlsch  15   0  4564 2024 1360 S  0.0  0.0   0:00.01 bash                                                                                                                                  
30168 root      15   0  7168 1908 1488 S  0.0  0.0   0:00.00 su                                                                                                                                    
30178 root      15   0  4060 1792 1380 S  0.0  0.0   0:00.03 bash                                                                                                                                  
34027 root      25   0  1684  500  416 S  0.0  0.0   0:00.00 mysqld_safe                                                                                                                           
34070 root      25   0  2832  660  572 S  0.0  0.0   0:00.00 logger

Und das Ergebnis des Benchmarks selbst
Code:
Server Software:        Apache/2.2.8
Server Hostname:        www.xxx.yy
Server Port:            80

Document Path:          /
Document Length:        19432 bytes

Concurrency Level:      100
Time taken for tests:   879.738845 seconds
Complete requests:      1000
Failed requests:        60
   (Connect: 0, Length: 60, Exceptions: 0)
Write errors:           0
Non-2xx responses:      60
Total transferred:      18655940 bytes
HTML transferred:       18333100 bytes
Requests per second:    1.14 [#/sec] (mean)
Time per request:       87973.883 [ms] (mean)
Time per request:       879.739 [ms] (mean, across all concurrent requests)
Transfer rate:          20.71 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   3.5      0      19
Processing:  2194 85870 47281.5  77018  381692
Waiting:     2110 85404 47274.9  76558  381613
Total:       2195 85872 47281.3  77021  381692

Percentage of the requests served within a certain time (ms)
  50%  77021
  66%  83916
  75%  89132
  80%  95544
  90%  122695
  95%  198292
  98%  244891
  99%  285806
 100%  381692 (longest request)

Das sieht doch mal richtig übel aus. Auffällig also, dass der Apache nicht mit der Auslieferung hinterherkommt. Sehe ich das richtig?
 
Was hat der vServer denn für Specs? Da braucht man eigentlich gar nicht groß ins Detail gehen, dein vServer ist mit der Load einfach heillos überfordert.
 
Ich wollte auch nicht gegen lighttpd sprechen :-)
Wie ich ja geschrieben habe, werde ich das System testen, um es eventuell produktiv einzusetzen. Allerdings nicht direkt auf dem Live-System, denn 3-4 Stunden werden für die Umstellung zwar ausreichen, aber nicht, alle Seiten genauestens auf Funktionalität zu prüfen und ggf. die Sachen abzuändern, die nicht mehr funktionieren, weil irgendeine Extension doch noch irgendwo was mit htaccess macht und es mir nicht bewusst war. Ist also äußerst riskant.

Ansonsten klingt das ganze vielversprechend. Am besten also Test-Umgebung richtig konfigurieren, anschließend ein Upgrade auf mehr RAM und Co., dann alle Seiten nach und nach umziehen und den alten Server platt machen... so könnte ich mir dies vorstellen :-)
 
War mir fast schon klar das Top solche Werte ausspucken wird. Es sind einfach zu viele Apache-Prozesse für zu wenig Hardware. Mit der Hardware und Apache wirst du nicht weit kommen. Welche Ressourcen stehen dem vServer eigentlich zur Verfügung?

Welche Extensions benötigst du denn zwangsläufig? Lighttpd bietet mittlerweile so viele Module und Konfigurationsmöglichkeiten, dass er vom Funktionsumfang fast genau so mächtig sein kann wie ein Apache, aber dabei ist der lighttpd durch php-fastcgi um vieles ressourcenschonender.

Wenn du nicht vom apachen wegwillst, schau dir eventuell mal den Worker an. Ich bin jedoch mittlerweile zu lange vom apachen weg um zu 100% beurteilen zu können ob der worker ressourcenschonender ist.
 
Last edited by a moderator:
Es handelt sich um einen Strato VServer "PowerServer M".

Darauf befindet sich ein Ubuntu 8.04 in Verbindung mit Plesk 9.3 (welch Schmach).

Der Server hat also laut Angaben mind. 2GB, max. 4. 1CPU Kern.

Ein paar zusätzliche Sachen: Es läuft fail2ban, denyhosts, zendoptimizer. eAccelerator hatte ich auch mal kurz an. Der hat die Performance verbessert, aber war mit der neuesten TYPO3 version inkompatibel.

Auszüge der my.cnf
Code:
# * Fine Tuning
#
key_buffer		= 16M
max_allowed_packet	= 16M
thread_stack		= 128K
thread_cache_size	= 8
#max_connections        = 100
table_cache            = 256 # changed from 64 and actived (2011-04-29)
#thread_concurrency     = 10

# * Query Cache Configuration
#
query_cache_type	= 1
query_cache_limit       = 2M # changed from 1M (2011-04-29)
query_cache_size        = 64M # changed from 32M (2011-04-29)


# Here you can see queries with especially long duration
log_slow_queries	= /var/log/mysql/mysql-slow.log
long_query_time = 2
#log-queries-not-using-indexes


#server-id		= 1
#log_bin			= /var/log/mysql/mysql-bin.log
expire_logs_days	= 10
max_binlog_size         = 100M
#binlog_do_db		= include_database_name
#binlog_ignore_db	= include_database_name

[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition

[isamchk]
key_buffer		= 64M # changed from 16M (2011-04-29)

Auszüge der Apache Config:
Code:
Timeout 300
KeepAlive On
MaxKeepAliveRequests 10
KeepAliveTimeout 15

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   5000
</IfModule>


<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild  5000
</IfModule>

HostnameLookups Off

mods-enabled
Code:
lrwxrwxrwx 1 root root   30 2010-04-08 23:49 actions.conf -> ../mods-available/actions.conf
lrwxrwxrwx 1 root root   30 2010-04-08 23:49 actions.load -> ../mods-available/actions.load
lrwxrwxrwx 1 root root   28 2010-04-08 23:48 alias.conf -> ../mods-available/alias.conf
lrwxrwxrwx 1 root root   28 2010-04-08 23:48 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root   33 2010-04-08 23:48 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root   33 2010-04-08 23:48 authn_file.load -> ../mods-available/authn_file.load
lrwxrwxrwx 1 root root   36 2010-04-08 23:48 authz_default.load -> ../mods-available/authz_default.load
lrwxrwxrwx 1 root root   38 2010-04-08 23:48 authz_groupfile.load -> ../mods-available/authz_groupfile.load
lrwxrwxrwx 1 root root   33 2010-04-08 23:48 authz_host.load -> ../mods-available/authz_host.load
lrwxrwxrwx 1 root root   33 2010-04-08 23:48 authz_user.load -> ../mods-available/authz_user.load
lrwxrwxrwx 1 root root   32 2010-04-08 23:48 autoindex.conf -> ../mods-available/autoindex.conf
lrwxrwxrwx 1 root root   32 2010-04-08 23:48 autoindex.load -> ../mods-available/autoindex.load
lrwxrwxrwx 1 root root   26 2010-04-08 23:48 cgi.load -> ../mods-available/cgi.load
-rw-r--r-- 1 root root  166 2010-04-08 23:50 dir.conf
lrwxrwxrwx 1 root root   26 2010-04-08 23:48 dir.load -> ../mods-available/dir.load
lrwxrwxrwx 1 root root   26 2010-04-08 23:48 env.load -> ../mods-available/env.load
lrwxrwxrwx 1 root root   28 2010-04-08 23:49 fcgid.conf -> ../mods-available/fcgid.conf
lrwxrwxrwx 1 root root   28 2010-04-08 23:49 fcgid.load -> ../mods-available/fcgid.load
lrwxrwxrwx 1 root root   30 2010-04-08 23:50 include.load -> ../mods-available/include.load
lrwxrwxrwx 1 root root   27 2010-04-08 23:48 mime.conf -> ../mods-available/mime.conf
lrwxrwxrwx 1 root root   27 2010-04-08 23:48 mime.load -> ../mods-available/mime.load
lrwxrwxrwx 1 root root   34 2011-04-12 16:59 mod-evasive.load -> ../mods-available/mod-evasive.load
lrwxrwxrwx 1 root root   34 2010-04-08 23:48 negotiation.conf -> ../mods-available/negotiation.conf
lrwxrwxrwx 1 root root   34 2010-04-08 23:48 negotiation.load -> ../mods-available/negotiation.load
lrwxrwxrwx 1 root root   27 2010-04-08 23:48 php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root   27 2010-04-08 23:48 php5.load -> ../mods-available/php5.load
lrwxrwxrwx 1 root root   30 2010-04-08 23:50 rewrite.load -> ../mods-available/rewrite.load
lrwxrwxrwx 1 root root   31 2010-04-08 23:48 setenvif.conf -> ../mods-available/setenvif.conf
lrwxrwxrwx 1 root root   31 2010-04-08 23:48 setenvif.load -> ../mods-available/setenvif.load
lrwxrwxrwx 1 root root   36 2011-01-07 12:15 ssl.load -> /etc/apache2/mods-available/ssl.load
lrwxrwxrwx 1 root root   29 2010-04-08 23:48 status.conf -> ../mods-available/status.conf
lrwxrwxrwx 1 root root   29 2010-04-08 23:48 status.load -> ../mods-available/status.load
lrwxrwxrwx 1 root root   29 2010-04-08 23:50 suexec.load -> ../mods-available/suexec.load
lrwxrwxrwx 1 root root   30 2010-04-08 23:50 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root   30 2010-04-08 23:50 userdir.load -> ../mods-available/userdir.load
 
Back
Top