Hi,
ich habe einen rootserver (für mich allein, also nix virtual oder so) mit 1GB RAM und einem AMD Athlon 64 3700+ mit Apache2.
So, nun kommt es in letzter Zeit häufiger vor, dass der Load Average auf 10 und mehr ansteigt und die Seiten sich praktisch nicht mehr aufbauen.
Ein Blick in top zeigt folgendes:
Mir fallen grundsätzlich 2 Sachen auf. Der RAM ist voll (lässt sich ja leicht ändern, aber wirklich der Grund der Laggs?) und der MySQL Prozess verbraucht unnormal viel Ressourcen. Auf dem Server läuft ein Browsergame. Die MySQL Querys wurden alle optimiert.Code:top - 23:06:23 up 3 days, 11:31, 1 user, load average: 9.62, 14.67, 14.52 Tasks: 103 total, 4 running, 99 sleeping, 0 stopped, 0 zombie Cpu(s): 53.3% us, 7.0% sy, 39.7% ni, 0.0% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 1027420k total, 959660k used, 67760k free, 68044k buffers Swap: 2096440k total, 88k used, 2096352k free, 533288k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 13729 mysql 16 0 157m 36m 4476 S 50.9 3.6 1910:16 mysqld 3497 root 39 15 11016 7824 396 R 39.9 0.8 5:29.10 bzip2 14183 root 15 0 132m 10m 5972 S 8.7 1.0 151:52.68 php5 1 root 16 0 776 304 252 S 0.0 0.0 0:00.91 init 2 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root 10 -5 0 0 0 S 0.0 0.0 0:00.15 events/0 5 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 khelper 6 root 13 -5 0 0 0 S 0.0 0.0 0:00.00 kthread 9 root 10 -5 0 0 0 S 0.0 0.0 0:00.01 kblockd/0 10 root 20 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid 122 root 15 0 0 0 0 S 0.0 0.0 0:20.98 pdflush 123 root 15 0 0 0 0 S 0.0 0.0 0:10.62 pdflush 125 root 14 -5 0 0 0 S 0.0 0.0 0:00.00 aio/0 124 root 15 0 0 0 0 S 0.0 0.0 0:00.91 kswapd0 331 root 13 -5 0 0 0 S 0.0 0.0 0:00.00 cqueue/0 332 root 11 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
Aber ich dachte, vllt. kann man bei Apache noch etwas an Leistung rausholen. Meine server-tuning.conf sieht so aus:
Da wollte ich auch gleich am nächsten anknüpfen.Code:## ## Server-Pool Size Regulation (MPM specific) ## # the MPM (multiprocessing module) is not a dynamically loadable module in the # sense of other modules. It is a compile time decision which one is used. We # provide different apache2 MPM packages, containing different httpd2 binaries # compiled with the available MPMs. See APACHE_MPM in /etc/sysconfig/apache2. # prefork MPM <IfModule prefork.c> # number of server processes to start # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#startservers StartServers 3 # minimum number of server processes which are kept spare # http://httpd.apache.org/docs/2.2/mod/prefork.html#minspareservers MinSpareServers 3 # maximum number of server processes which are kept spare # http://httpd.apache.org/docs/2.2/mod/prefork.html#maxspareservers MaxSpareServers 8 # highest possible MaxClients setting for the lifetime of the Apache process. # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#serverlimit ServerLimit 150 # maximum number of server processes allowed to start # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients MaxClients 150 # maximum number of requests a server process serves # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild MaxRequestsPerChild 0 </IfModule> # worker MPM <IfModule worker.c> # initial number of server processes to start # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#startservers StartServers 2 # minimum number of worker threads which are kept spare # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#minsparethreads MinSpareThreads 25 # maximum number of worker threads which are kept spare # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxsparethreads MaxSpareThreads 75 # upper limit on the configurable number of threads per child process # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#threadlimit ThreadLimit 60 # maximum number of simultaneous client connections # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients MaxClients 250 # number of worker threads created by each child process # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#threadsperchild ThreadsPerChild 60 # maximum number of requests a server process serves # http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild MaxRequestsPerChild 100 </IfModule> # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive Off # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 15 # # EnableMMAP: Control whether memory-mapping is used to deliver # files (assuming that the underlying OS supports it). # The default is on; turn this off if you serve from NFS-mounted # filesystems. On some systems, turning it off (regardless of # filesystem) can improve performance; for details, please see # http://httpd.apache.org/docs-2.2/mod/core.html#enablemmap # #EnableMMAP off # # EnableSendfile: Control whether the sendfile kernel support is # used to deliver files (assuming that the OS supports it). # The default is on; turn this off if you serve from NFS-mounted # filesystems. Please see # http://httpd.apache.org/docs-2.2/mod/core.html#enablesendfile # #EnableSendfile off # # The following directives modify normal HTTP response behavior to # handle known problems with browser implementations. # BrowserMatch "Mozilla/2" nokeepalive BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 BrowserMatch "RealPlayer 4\.0" force-response-1.0 BrowserMatch "Java/1\.0" force-response-1.0 BrowserMatch "JDK/1\.0" force-response-1.0 # # The following directive disables redirects on non-GET requests for # a directory that does not include the trailing slash. This fixes a # problem with Microsoft WebFolders which does not appropriately handle # redirects for folders with DAV methods. # Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. # BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "^WebDrive" redirect-carefully BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully BrowserMatch "^gnome-vfs" redirect-carefully
Mein Apache verwendet von prefork, aber ich hätte das gerne auf worker umgestellt. Bekommt man das ohne einer Neuinstallation hin? Und was muss man da wo umschreiben?
Über Hilfe, Tipps und Anregungen (vor allem mit dem MySQL-Prozess) wäre ich sehr danke.
Gut Nacht.


LinkBack URL
Über LinkBacks
Lesezeichen