server-tuning berechnung / verständnisfrage

Apache, Lighttpd, nginx, Cherokee
conym18
Posts: 137
Joined: 2003-01-21 12:41

server-tuning berechnung / verständnisfrage

Post by conym18 » 2008-09-17 13:21

hallo zusammen,

ich habe einen vserver mit 400 mb freiem RAM, wenn niemand was mit dem apache macht.
(hier ist mysql, sendmail, clam, amvis und co. ausgeschlossen)

also gehen wir von einem wert von 400MB ram aus, welcher mir tatsächlich zur verfügung steht.

lt. ps aux braucht ein httpd2-prefork durchschnittlich lt. RSS wert ca. 8000 KB, also 8 MB RAM.

ich habe jetzt folgendes in der server-tuning.conf eingestellt.

Code: Select all

<IfModule prefork.c>
        # number of server processes to start = 1
        StartServers            2
        # minimum number of server processes which are kept spare = 1
        MinSpareServers         2
        # maximum number of server processes which are kept spare = 2
        MaxSpareServers         2
        # highest possible MaxClients setting for the lifetime of the Apache process. = 25
        ServerLimit            20
        # maximum number of server processes allowed to start = 25
        MaxClients             20
        # maximum number of requests a server process serves = 1000
        MaxRequestsPerChild  10000
</IfModule>

KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15




Jetzt meine Fragen:

- wieviele User gleichzeitig kann mein server mit der config oben handeln?
- wie wäre eine richtig config, wenn ich das max. aus den 400 MB RAM rausholen will?
- ist es sinnvoll, dass KeepAlive auf Off zu stellen?
- wenn nein, wie hoch dann die KeepAliveTimeout Zeit?


Meine Berechnung, welche ich aus einem anderen Thread habe ist folgende:

400 MB / 8 MB pro httpd = 50 gleichzeitige connections.

ist es sinnvoll, StartServers auf 2 zu stellen und MaxClients auf 20?
oder lieber StartServers auf 1 und MaxClients auf 50?


Vielen Dank

conym18
Posts: 137
Joined: 2003-01-21 12:41

Re: server-tuning berechnung / verständnisfrage

Post by conym18 » 2008-09-17 14:06

ich versteh grad was nicht.

ich lasse grad ein webserver streßtool auf mein server laufen (webserver stress tool unter windows).
6x10 gleichzeitige anfragen.

im ps aux | grep http kommt aber folgendes:

Code: Select all

root     19495  0.0  1.5  22756  8132 ?        Ss   13:39   0:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   13434  0.1  1.3  23096  7152 ?        R    13:49   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   21614  0.2  1.3  23164  7168 ?        S    13:50   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   10136  0.1  1.3  23060  7136 ?        S    13:51   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   17410  0.1  1.3  23088  7156 ?        S    13:52   0:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   15617  0.2  1.3  23108  7148 ?        S    13:54   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   30039  0.1  1.3  23120  7160 ?        R    13:57   0:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   11312  0.0  1.3  23008  7044 ?        S    13:58   0:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   23824  0.7  1.3  23064  7164 ?        S    13:58   0:02 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   28427  0.7  1.3  23164  7160 ?        S    13:59   0:02 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   28562  0.6  1.3  23164  7196 ?        S    13:59   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   30139  0.5  1.3  23060  7076 ?        S    13:59   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   30272  0.0  1.3  23044  7020 ?        S    13:59   0:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   32120  0.6  1.3  23172  7152 ?        S    13:59   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   32258  0.3  1.3  23164  7156 ?        R    13:59   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   32654  0.5  1.3  23132  7184 ?        S    13:59   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    1508  0.5  1.3  23172  7156 ?        S    13:59   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    5396  0.6  1.3  23144  7152 ?        S    13:59   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   12200  0.6  1.3  23064  7152 ?        R    14:00   0:01 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   25655  0.5  1.3  23044  7052 ?        S    14:02   0:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun    3195  0.5  1.3  23068  7144 ?        S    14:03   0:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf



sollten hier nicht aber mind. 2x20 prozesse auftauchen?

conym18
Posts: 137
Joined: 2003-01-21 12:41

Re: server-tuning berechnung / verständnisfrage

Post by conym18 » 2008-09-17 14:24

ich habe gerade mal das "ab2" laufen lassen, mit folgendem ergebnis:

Code: Select all

ab2 -n 100 -c 10 www.xxx.xx/index.php
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.xxx.xx (be patient).....done


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

Document Path:          /index.php
Document Length:        10666 bytes

Concurrency Level:      10
Time taken for tests:   7.717373 seconds
Complete requests:      100
Failed requests:        99
   (Connect: 0, Length: 99, Exceptions: 0)
Write errors:           0
Total transferred:      1160789 bytes
HTML transferred:       1104521 bytes
Requests per second:    12.96 [#/sec] (mean)
Time per request:       771.737 [ms] (mean)
Time per request:       77.174 [ms] (mean, across all concurrent requests)
Transfer rate:          146.81 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.9      0       7
Processing:   214  730 300.6    674    2033
Waiting:       28  278 187.0    294     863
Total:        221  730 300.4    674    2033

Percentage of the requests served within a certain time (ms)
  50%    674
  66%    836
  75%    889
  80%    928
  90%   1183
  95%   1306
  98%   1462
  99%   2033
 100%   2033 (longest request)




ist das nun gut?

bei Failed requests steht ja 99, warum das?

conym18
Posts: 137
Joined: 2003-01-21 12:41

Re: server-tuning berechnung / verständnisfrage

Post by conym18 » 2008-09-17 14:45

was bedeutet "configured -- resuming normal operations", wenn ich den APACHE restarte?
nimmt er garnicht meine server-tuning.conf an?

conym18
Posts: 137
Joined: 2003-01-21 12:41

Re: server-tuning berechnung / verständnisfrage

Post by conym18 » 2008-09-17 15:03

ich hab mal in der server-config was eingestellt und max. 5 min später ist der server gleich down gewesen.

KeepAlive On
KeepAliveTimeout 15


hier die daten:

TOP: über 380 MB RAM frei
in der error_log steht geschrieben:

Code: Select all

[Wed Sep 17 14:50:32 2008] [error] [client 87.169.170.51] File does not exist: /srv/www/web8/html/favicon.ico
[Wed Sep 17 14:50:38 2008] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Wed Sep 17 14:53:02 2008] [error] (12)Cannot allocate memory: apr_accept: (client socket)
[Wed Sep 17 14:53:04 2008] [error] (12)Cannot allocate memory: fork: Unable to fork new process
[Wed Sep 17 14:53:37 2008] [warn] child process 12118 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 1543 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 13347 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 13597 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 1419 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 13826 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 13828 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 13829 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 15374 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 15483 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 20334 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 15607 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 30275 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [warn] child process 17617 still did not exit, sending a SIGTERM
[Wed Sep 17 14:53:37 2008] [notice] caught SIGTERM, shutting down


was hat es damit aufsich?
sollte doch eigentlich nicht so sein.

und in den 5 min. nach dem restart, waren nicht soviel user auf dem server.


bitte helft mir !

User avatar
Joe User
Project Manager
Project Manager
Posts: 11134
Joined: 2003-02-27 01:00
Location: Hamburg

Re: server-tuning berechnung / verständnisfrage

Post by Joe User » 2008-09-17 15:41

http://httpd.apache.org/docs/2.2/misc/perf-tuning.html

Dein VServer ist für Deine aktuellen Ansprüche (Apache+mod_php+MySQL+Mailserver+Anti-Spam+etc.) schlicht nicht zu gebrauchen. Es hat schon seinen Grund, dass er so billig ist...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

conym18
Posts: 137
Joined: 2003-01-21 12:41

Re: server-tuning berechnung / verständnisfrage

Post by conym18 » 2008-09-17 16:00

kannst du mir einen empfehlen?

ich meine allgemein.

ist z.b. http://www.server4you. XXX gegeinet oder lieber woanders?

wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: server-tuning berechnung / verständnisfrage

Post by wgot » 2008-09-17 16:57

Hallo,

Du brauchst mehr RAM (oder weniger Ansprüche an den Vserver). Wenn Dein jetziger Anbieter auch größere Modelle anbietet dann frag mal ob ein Wechsel möglich ist. Es gibt allerdings für 26 Euro schon einen Rootserver mit 1GB RAM (ovh.de), da werden größere Vserver preislich schnell unattraktiv.

Gruß, Wolfgang

User avatar
Joe User
Project Manager
Project Manager
Posts: 11134
Joined: 2003-02-27 01:00
Location: Hamburg

Re: server-tuning berechnung / verständnisfrage

Post by Joe User » 2008-09-17 17:07

VServer stinken grundsätzlich und kleinere RootServer gibt es mitlerweile ab ~30EUR. Empfehlungen von Anbietern werde ich auf Grund unserer Nutzungsbedingungen nicht abgeben, dafür gibt es beispielsweise die WHL.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.