VServer hängt ständig

sventb

New Member
Hallo,

ich hoffe jemand kann mir einen Anhaltspunkt geben, was bei meinem VServer nicht stimmt, denn dieser hängt sich durchschnittlich einmal pro Tag auf.

Ich bei greatnet.de eine vorkonfigurierte LAMP mit debian genommen. Also sollte alles korrekt eingerichtet sein. Wenn greatnet alles richtig gemacht hat, der Server keinen defekt hat bzw andere VServer auf dem Server meinen VServer nicht beeinträchtigen, kann es also nur an meinen Konfigurationen liegen. Folgendes habe ich auf dem System noch gemacht:

* apt-get install sendmail
* apt-get install php5-cli
* apt-get install php5-gd
* phpmyadmin installiert
* mysql user angelegt
* Ports geändert
* Zeile apache2-default auskommentiert in /etc/apache2/sites-available/default

Ich habe auf dem VServer ein Browserspiel liegen, da wahrscheinlich recht viele (Datenbank)Ressourcen frisst. Wenn viele Spieler auf der Seite sind, sind es wahrscheinlich 10 bis 15. Kann es sein, dass der Server sich deshalb einfach verabschieded?

Ich komme dann auch nicht per SSH auf den Server. Dann hilft nur noch ein Reset über die Admin-Oberfläche von greatnet. Manchmal hilft auch das nicht, erst nach ein paar (wenigen) Stunden ist der VServer dann wieder verfügbar. Das ist meiner Meinung nach ein Zeichen, dass der Fehler evtl bei greatnet liegt.

Komisch: Cronjobs werden noch ausgeführt, das PHP-Skript, das über den Cronjob aufgerufen wird, scheitert aber daran, dass die Datenbank nicht geöffnet werden kann.

Gestern ist der VServer mal wieder hängen geblieben, im syslog habe ich zu der betroffenen Uhrzeit folgende Einträge gefunden:

Code:
Jan 13 20:56:12 t1385 sm-mta[2754]: rejecting connections on daemon MTA-v4: load average: 63
Jan 13 20:56:14 t1385 sm-mta[2754]: rejecting connections on daemon MSP-v4: load average: 63
Jan 13 20:56:33 t1385 sm-mta[2754]: rejecting connections on daemon MTA-v4: load average: 63
Jan 13 20:56:40 t1385 sm-mta[2754]: rejecting connections on daemon MSP-v4: load average: 63
Jan 13 20:56:49 t1385 sm-mta[2754]: rejecting connections on daemon MTA-v4: load average: 64
Jan 13 20:56:50 t1385 kernel:  [<ffffffff8024e696>] out_of_memory+0x6d/0x1bf
Jan 13 20:56:51 t1385 sm-mta[2754]: rejecting connections on daemon MSP-v4: load average: 64
Jan 13 20:57:08 t1385 sm-mta[2754]: rejecting connections on daemon MTA-v4: load average: 64
Jan 13 20:57:11 t1385 sm-mta[2754]: rejecting connections on daemon MSP-v4: load average: 64
Jan 13 20:57:30 t1385 sm-mta[2754]: rejecting connections on daemon MTA-v4: load average: 64
Jan 13 20:57:33 t1385 kernel:  [<ffffffff8024fc55>] __alloc_pages+0x218/0x2a1
Jan 13 20:57:34 t1385 sm-mta[2754]: rejecting connections on daemon MSP-v4: load average: 64
Jan 13 20:57:42 t1385 sm-mta[2754]: rejecting connections on daemon MTA-v4: load average: 64
Jan 13 20:57:50 t1385 sm-mta[2754]: rejecting connections on daemon MSP-v4: load average: 64
Jan 13 20:57:59 t1385 sm-mta[2754]: runqueue: Skipping queue run -- load average too high
Jan 13 20:58:10 t1385 sm-mta[2754]: rejecting connections on daemon MTA-v4: load average: 64
Jan 13 21:00:35 t1385 kernel:  [<ffffffff8024bbc3>] page_cache_read+0x51/0xba
Jan 13 21:03:06 t1385 kernel:  [<ffffffff8024db10>] filemap_nopage+0x1be/0x2fe
Jan 13 21:03:07 t1385 kernel:  [<ffffffff8025b6bc>] __handle_mm_fault+0x43d/0x10c5
Jan 13 21:03:07 t1385 kernel:  [<ffffffff80216b88>] do_page_fault+0x1072/0x13de
Jan 13 21:03:07 t1385 kernel:  [<ffffffff80209b93>] sys_rt_sigreturn+0x23d/0x2ea
Jan 13 21:03:07 t1385 kernel:  [<ffffffff804c04b7>] error_exit+0x0/0x79
Jan 13 21:03:07 t1385 kernel: 
Jan 13 21:03:07 t1385 kernel: Mem-info:
Jan 13 21:03:07 t1385 kernel: DMA per-cpu:
Jan 13 21:03:07 t1385 kernel: CPU    0: Hot: hi:   42, btch:   7 usd:   1   Cold: hi:   14, btch:   3 usd:   6
Jan 13 21:03:07 t1385 kernel: Active:6461 inactive:7928 dirty:0 writeback:0 unstable:0 free:360 slab:4603 mapped:2 pagetables:8449
Jan 13 21:03:07 t1385 kernel: DMA free:1440kB min:1448kB low:1808kB high:2172kB active:25844kB inactive:31712kB present:131752kB pages_scanned:118024 all_unreclaimable? yes
Jan 13 21:03:07 t1385 kernel: lowmem_reserve[]: 0 0 0
Jan 13 21:03:07 t1385 kernel: DMA: 0*4kB 4*8kB 2*16kB 1*32kB 1*64kB 0*128kB 1*256kB 0*512kB 1*1024kB 0*2048kB 0*4096kB = 1440kB
Jan 13 21:03:07 t1385 kernel: Swap cache: add 452858, delete 452856, find 92584/138867, race 0+253
Jan 13 21:03:07 t1385 kernel: Free swap  = 0kB
Jan 13 21:03:07 t1385 kernel: Total swap = 262136kB
Jan 13 21:03:07 t1385 kernel: Free swap:            0kB
Jan 13 21:03:07 t1385 kernel: 34816 pages of RAM
Jan 13 21:03:07 t1385 kernel: 1932 reserved pages
Jan 13 21:03:07 t1385 kernel: 40145 pages shared
Jan 13 21:03:07 t1385 kernel: 2 pages swap cached
Jan 13 21:03:07 t1385 kernel: Out of memory: kill process 2813 (apache2) score 123924 or a child
Jan 13 21:03:07 t1385 kernel: Killed process 3718 (apache2)
Jan 13 21:03:07 t1385 kernel: mysqld invoked oom-killer: gfp_mask=0x201d2, order=0, oomkilladj=0
Jan 13 21:03:07 t1385 kernel:

Was bedeuten diese Fehlermeldungen?
Code:
Jan 14 08:10:29 t1385 sm-mta[2754]: runqueue: Skipping queue run -- load average too high
Jan 14 08:10:31 t1385 sm-mta[2754]: rejecting connections on daemon MSP-v4: load average: 164

Vielleicht auch hilfreich:
Code:
Jan 14 01:31:57 t1385 kernel: sendmail invoked oom-killer: gfp_mask=0x201d2, order=0, oomkilladj=0
Jan 14 01:31:57 t1385 kernel: 
Jan 14 01:31:57 t1385 kernel: Call Trace:
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8024e696>] out_of_memory+0x6d/0x1bf
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8024fc55>] __alloc_pages+0x218/0x2a1
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8025134f>] __do_page_cache_readahead+0xf4/0x290
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8024b8b2>] sync_page+0x0/0x42
Jan 14 01:31:57 t1385 kernel:  [<ffffffff80303b0a>] generic_unplug_device+0x18/0x4b
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8024b8b2>] sync_page+0x0/0x42
Jan 14 01:31:57 t1385 kernel:  [<ffffffff804bec3a>] io_schedule+0x28/0x34
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8024da92>] filemap_nopage+0x140/0x2fe
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8025b6bc>] __handle_mm_fault+0x43d/0x10c5
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8020622a>] hypercall_page+0x22a/0x1000
Jan 14 01:31:57 t1385 kernel:  [<ffffffff80216b88>] do_page_fault+0x1072/0x13de
Jan 14 01:31:57 t1385 kernel:  [<ffffffff804c04b7>] error_exit+0x0/0x79
Jan 14 01:31:57 t1385 kernel:  [<ffffffff80209d46>] system_call+0x86/0x8b
Jan 14 01:31:57 t1385 kernel:  [<ffffffff8023362f>] do_sigaction+0x68/0x1ce
Jan 14 01:31:57 t1385 kernel:  [<ffffffff804c04b7>] error_exit+0x0/0x79
Jan 14 01:31:57 t1385 kernel: 
Jan 14 01:31:57 t1385 kernel: Mem-info:
Jan 14 01:31:57 t1385 kernel: DMA per-cpu:
Jan 14 01:31:57 t1385 kernel: CPU    0: Hot: hi:   42, btch:   7 usd:   5   Cold: hi:   14, btch:   3 usd:   0
Jan 14 01:31:57 t1385 kernel: Active:2072 inactive:10765 dirty:2 writeback:0 unstable:0 free:389 slab:4861 mapped:52 pagetables:9154
Jan 14 01:31:57 t1385 kernel: DMA free:1556kB min:1448kB low:1808kB high:2172kB active:8288kB inactive:43060kB present:131752kB pages_scanned:88107 all_unreclaimable? yes
Jan 14 01:31:57 t1385 kernel: lowmem_reserve[]: 0 0 0
Jan 14 01:31:57 t1385 kernel: DMA: 1*4kB 18*8kB 2*16kB 1*32kB 1*64kB 0*128kB 1*256kB 0*512kB 1*1024kB 0*2048kB 0*4096kB = 1556kB
Jan 14 01:31:57 t1385 kernel: Swap cache: add 8376917, delete 8376833, find 1210831/2203312, race 5+18817
Jan 14 01:31:57 t1385 kernel: Free swap  = 4kB
Jan 14 01:31:57 t1385 kernel: Total swap = 262136kB
Jan 14 01:31:57 t1385 kernel: Free swap:            4kB
Jan 14 01:31:57 t1385 kernel: 34816 pages of RAM
Jan 14 01:31:57 t1385 kernel: 1932 reserved pages
Jan 14 01:31:57 t1385 kernel: 1655 pages shared
Jan 14 01:31:57 t1385 kernel: 84 pages swap cached
Jan 14 01:31:57 t1385 kernel: Out of memory: kill process 4238 (mysqld) score 38918 or a child
Jan 14 01:31:57 t1385 kernel: Killed process 4238 (mysqld)
Jan 14 01:31:57 t1385 kernel: apache2 invoked oom-killer: gfp_mask=0x201d2, order=0, oomkilladj=0
Jan 14 01:31:57 t1385 kernel:

Für Hilfe wäre ich ewig dankbar :)
 
Last edited by a moderator:
Das mit dem OOM-Killer ist doch sehr aufschlussreich, oder? OOM steht für out of memory, das bedeutet, dass Du das alles was Du machen willst nicht gleichzeitig machen kannst.
Schau mal in der Suchfunktion nach dem "tuning-primer" Script, vielleicht kannst Du damit noch etwas rausholen. Der zugehörige Sticky-Thread von Benutzer noto ist auch lesenswert.
 
Danke für den Hinweis!

Das heißt also, einen anderen VServer mit mehr Memory nehmen oder den VServer optimieren?

Sollte der Arbeitsspeicher für normale Web Anwendungen nicht genügen?
Arbeitsspeicher (RAM) - statisch: 128 MB
Arbeitsspeicher (RAM) - swap: + 256 MB

Ist es normal, dass der VServer sich dann gleich aufhängt?

Werde mir natürlich jetzt die von dir vorgeschlagenen Artikel durchlesen.
 
Mit 128 MB RAM (den swap-space sollte man für den normalen Gebrauch nicht mit einplanen, sondern als Reseve betrachten), kann man nicht wirklich viel anfangen. Insbesondere die MySQL-Datenbank braucht im un-getunten Fall schon knapp 100 MB. Auf solch einem Server lasse ich ein Mail-System (Postfix mit MySQL-Anbindung) laufen -- für mehr reicht es leider nicht.

In Deinem Fall waren die 128MB vollkommen ausgeschöpft, dann wird im großen Stil auf den Swap ausgewichen, was zu extremen Performance-Einbrüchen führt. Nachdem dann auch der komplette swap-space belegt ist, bleibt dem Kernel nichts anderes übrig, als solange wild irgendwelche Prozesse zu beenden, bis die Notsituation nicht mehr besteht.

Die Performance-Einbrüche und wohl auch das Beenden von Prozesse siehst Du dann wohl als "aufhängen"
 
Der tuning-primer war ein guter Tipp von dir. Bin gerade am optimieren :)

Nachdem dann auch der komplette swap-space belegt ist, bleibt dem Kernel nichts anderes übrig, als solange wild irgendwelche Prozesse zu beenden, bis die Notsituation nicht mehr besteht.
Die Performance-Einbrüche und wohl auch das Beenden von Prozesse siehst Du dann wohl als "aufhängen"

Da wurden wohl so gut wie alle Prozesse beendet: apache, mysql, SSH usw ...
 
Ich hatte auch einen Engpass bei meinem 256 MB VPS. Im Durchschnitt wurden 600 MB benutzt (800 MB zugesichert) - es gab immer wieder Prozessabstürze und Probleme.

Habe den Apachen noch entschlackt (Module rausschmeissen!) und mich per Hand an die MySQL Einstelungen gemacht. Mittlerweile braucht die Kiste ca. 420 MB bei gleichem Nutzerprofil und rennt stabil.

Schau Dir also den Apachen auch noch an.
 
Ich bekomme die Probleme wohl auch nicht mit dem MySQL-Tuning in den Griff. Der Server verabschiedet sich noch immer recht häufig (mehrmals täglich).

Aber wie kann das sein? Laut tuning-primer.sh ist mein Speicherverbrauch ok (anfangs betrug dieser 90% des gesamten RAM, jetzt habe ich ihn verringert):

Code:
MEMORY USAGE
Max Memory Ever Allocated : 34 M
Configured Max Per-thread Buffers : 60 M
Configured Max Global Buffers : 13 M
Configured Max Memory Limit : 73 M
Physical Memory : 128.21 M

D.h. doch, dass der mysql Prozeß nur 60 MB RAM bekommt und die restlichen 68 MB für die anderen Prozesse sind. Da dürfte der VServer doch nicht "abstürzen" bzw wahllos Prozesse killen.

Apache-Module habe ich nur ein oder zwei nachinstalliert, hier würde ich ungerne etwas ändern:

Code:
a2dismod
Which module would you like to disable?
Your choices are: alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi dir env mime negotiation php5 proxy_connect proxy rewrite setenvif status

Die dürften auch nicht viel Speicher fressen...
Ist das normal, dass hier so viele apache2-Prozesse laufen? Das sind die Besucher der Webseite, oder?
Vielleicht muss ich die Anzahl der Serrver-Anfragen, die gleichzeitig verarbeitet werden, verringern??

Code:
ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.4   6120   568 ?        Ss   13:59   0:00 init [2]
root         2  0.0  0.0      0     0 ?        S    13:59   0:00 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   13:59   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   13:59   0:00 [events/0]
root         5  0.0  0.0      0     0 ?        S<   13:59   0:00 [khelper]
root         6  0.0  0.0      0     0 ?        S<   13:59   0:00 [kthread]
root         8  0.0  0.0      0     0 ?        S<   13:59   0:00 [xenwatch]
root         9  0.0  0.0      0     0 ?        S<   13:59   0:00 [xenbus]
root        89  0.0  0.0      0     0 ?        S<   13:59   0:00 [kblockd/0]
root        92  0.0  0.0      0     0 ?        S<   13:59   0:00 [ata/0]
root        93  0.0  0.0      0     0 ?        S<   13:59   0:00 [ata_aux]
root        96  0.0  0.0      0     0 ?        S<   13:59   0:00 [khubd]
root        98  0.0  0.0      0     0 ?        S<   13:59   0:00 [kseriod]
root       120  0.0  0.0      0     0 ?        S    13:59   0:00 [pdflush]
root       121  0.0  0.0      0     0 ?        S    13:59   0:00 [pdflush]
root       122  0.0  0.0      0     0 ?        S<   13:59   0:00 [kswapd0]
root       123  0.0  0.0      0     0 ?        S<   13:59   0:00 [aio/0]
root      1036  0.0  0.0      0     0 ?        S<   13:59   0:00 [kpsmoused]
root      1038  0.0  0.0      0     0 ?        S<   13:59   0:00 [kjournald]
root      1125  0.0  0.6  10664   880 ?        S<s  13:59   0:00 udevd --daemon
root      2569  0.0  0.4   3732   636 ?        Ss   13:59   0:00 /sbin/syslogd
root      2575  0.0  0.2   2660   380 ?        Ss   13:59   0:00 /sbin/klogd -x
root      2603  0.0  0.7  10108  1048 ?        S    13:59   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     2640 14.7  9.3 120844 12300 ?        Sl   13:59   5:00 /usr/sbin/mysqld --basedir=/usr --datadir=/
root      2641  0.0  0.3   2636   440 ?        S    13:59   0:00 logger -p daemon.err -t mysqld_safe -i -t m
root      2718  0.0  0.7  25840   956 ?        Ss   13:59   0:00 /usr/sbin/sshd

root      2755  0.0  1.0  30656  1400 ?        Ss   13:59   0:00 sendmail: MTA: accepting connections
root      2756  0.0  1.6  31840  2156 ?        S    13:59   0:00 sendmail: MTA: ./n0F2U2Em014787 adiman.de.:
ntp       2786  0.0  0.8  14076  1084 ?        Ss   13:59   0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -u 102:
root      2796  0.0  0.5  11500   668 ?        Ss   13:59   0:00 /usr/sbin/cron
root      2809  0.0  4.6 101372  6112 ?        Ss   13:59   0:00 /usr/sbin/apache2 -k start
root      2830  0.0  1.8  31512  2480 ?        Ss   13:59   0:00 /usr/bin/perl /usr/local/share/webmin-1.320
root      2840  0.0  0.3   2652   432 tty1     Ss+  13:59   0:00 /sbin/getty 38400 tty1
root      2841  0.0  0.3   2656   432 tty2     Ss+  13:59   0:00 /sbin/getty 38400 tty2
root      2842  0.0  0.3   2652   432 tty3     Ss+  13:59   0:00 /sbin/getty 38400 tty3
root      2843  0.0  0.3   2656   432 tty4     Ss+  13:59   0:00 /sbin/getty 38400 tty4
root      2844  0.0  0.3   2652   432 tty5     Ss+  13:59   0:00 /sbin/getty 38400 tty5
root      2845  0.0  0.3   2652   432 tty6     Ss+  13:59   0:00 /sbin/getty 38400 tty6
www-data  3041  2.5  6.2 102920  8256 ?        S    14:16   0:25 /usr/sbin/apache2 -k start
www-data  3059  2.6  6.2 102964  8248 ?        S    14:17   0:24 /usr/sbin/apache2 -k start
www-data  3088  2.5  6.2 102996  8224 ?        S    14:19   0:21 /usr/sbin/apache2 -k start
root      3089  0.0  2.1  32128  2804 ?        S    14:19   0:00 sendmail: MTA: ./n0F9F3Mr018885 mx12.unit.t
www-data  3112  2.7  6.2 102892  8144 ?        S    14:20   0:21 /usr/sbin/apache2 -k start
www-data  3113  2.4  6.2 102896  8200 ?        S    14:22   0:15 /usr/sbin/apache2 -k start
www-data  3114  2.3  6.2 102984  8220 ?        S    14:22   0:15 /usr/sbin/apache2 -k start
www-data  3123  3.0 10.3 108088 13624 ?        S    14:28   0:09 /usr/sbin/apache2 -k start
root      3126  0.0  1.6  31844  2136 ?        S    14:29   0:00 sendmail: MTA: ./n0GAF4f6004134 ghs.l.googl
www-data  3160  3.1  6.1 102832  8016 ?        S    14:30   0:05 /usr/sbin/apache2 -k start
www-data  3161  3.0  6.1 102864  8064 ?        S    14:30   0:05 /usr/sbin/apache2 -k start
root      3167  0.0  2.0  36784  2720 ?        Ss   14:31   0:00 sshd: root@pts/0
www-data  3169  3.5  6.1 102872  8036 ?        S    14:32   0:02 /usr/sbin/apache2 -k start
root      3170  0.0  1.5  11544  1984 pts/0    Ss   14:32   0:00 -bash
root      3669  0.0  0.7   9656  1044 pts/0    R+   14:33   0:00 ps aux
 
Last edited by a moderator:
Auch wenn das keine wesentliche Einsparung bringt: 1. den udevd brauchst Du nicht (vor dem Abschalten das /dev-Verzeichnis mit tar sichern und wieder auspacken, wenn sich hinter dem /dev-Mountpoint keine default-Device-Dateien befinden). 2. sollte der ntp unnötig sein, wenn die hardware-clock des Hostsystems synchronisiert ist.
 
Es ist eine Schande überhaupt so gering konfigurierte Maschinen anzubieten und dennoch mit aktueller Software auszustatten. Aufgrund des hohen Funktions-Ansprungs auf Software im Allgemeinen, kommt man mit sowenig RAM nicht mehr aus.
Optimierungen sind hier wie Perle vor die Säue werfen.

Aber gut:
a) Reduzier Deine Apache-MaxClients auf ca. 5.
b) Reduzier die MySQL-MaxConnections auf ebenfalls 5.

Wenn er immer noch mehr Speicher verbraucht als vorhanden, gehe mit den Zahlen weiter runter.

PS: Danach natürlich MySQL und Apache neu starten.

huschi.
 
Es ist eine Schande überhaupt so gering konfigurierte Maschinen anzubieten und dennoch mit aktueller Software auszustatten.

Auf dem Server läuft "nur" eine Webseite, die PHP und MySQL benötigt. Ich dachte, mit einem VServer läuft die besser wie mit einem normalen Hosting Paket... aber dass der Server so miserabel von greatnet vorkonfiguriert wurde ist eine Sauerei.


a) Reduzier Deine Apache-MaxClients auf ca. 5.

Danke für den Tipp, werd ich machen :)
Theoretisch dürfte ich dann ja nicht mehr auf über 128 MB kommen...
 
Ich dachte, mit einem VServer läuft die besser wie mit einem normalen Hosting Paket...
Absolute Fehlannahme.

der Server so miserabel von greatnet vorkonfiguriert wurde
Das hab ich so nicht gesagt.
Aber es ist tatsächlich eine Kundenfalle. Und zwar für Kunden, die sich vorher nicht ausführlich genug mit der Materie auseinander gesetzt haben. :D

huschi.
 
Habe nun die MaxClients auf 5 begrenzt. Wenn ich die Webseite aufrufe, tut sich aber nichts (es lädt und lädt, aber es kommt keine Fehlermeldung).

Wir haben jetzt 17:23 Uhr, in der Prozess-Liste sind die letzten apache-Prozesse auf 17:12 Uhr datiert (der apache wurde ebenfalls um 17:12 Uhr neu gestartet):

Code:
root      3700  0.0  6.6 101372  8744 ?        Ss   17:12   0:00 /usr/sbin/apache2 -k start
www-data  3701  0.0 10.7 107976 14176 ?        S    17:12   0:00 /usr/sbin/apache2 -k start
www-data  3702  0.0 10.9 108076 14412 ?        S    17:12   0:00 /usr/sbin/apache2 -k start
www-data  3703  0.0 10.7 108000 14112 ?        S    17:12   0:00 /usr/sbin/apache2 -k start
www-data  3704  0.0  7.6 103636 10004 ?        S    17:12   0:00 /usr/sbin/apache2 -k start
www-data  3709  0.0  8.2 104512 10892 ?        S    17:12   0:00 /usr/sbin/apache2 -k start

Wieso hat sich seit 17:12 Uhr nichts mehr getan?
 
Code:
root      3700  0.0  6.6 101372  8744 ?        Ss   17:12   0:00 /usr/sbin/apache2 -k start
www-data  3701  0.0 10.7 107976 14176 ?        S    17:12   0:00 /usr/sbin/apache2 -k start
www-data  3702  0.0 10.9 108076 14412 ?        S    17:12   0:00 /usr/sbin/apache2 -k start
www-data  3703  0.0 10.7 108000 14112 ?        S    17:12   0:00 /usr/sbin/apache2 -k start
www-data  3704  0.0  7.6 103636 10004 ?        S    17:12   0:00 /usr/sbin/apache2 -k start
www-data  3709  0.0  8.2 104512 10892 ?        S    17:12   0:00 /usr/sbin/apache2 -k start

Wieso hat sich seit 17:12 Uhr nichts mehr getan?
Das steht in den Log-Files.

Anhand des Speicherverbrauchs deiner Apache-Prozesse läßt sich weitere Optimierungsbedarf erkennen :-)
Bei mir sieht das so aus:
Code:
wwwrun   24152  0.0  0.7  31908  9400 ?        S    Jan18   0:00  \_ /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   19798  0.0  0.5  30528  7564 ?        S    14:10   0:00  \_ /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   30326  0.0  0.5  30396  7404 ?        S    17:11   0:00  \_ /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   30328  0.0  0.5  30528  7532 ?        S    17:11   0:00  \_ /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun   30329  0.0  0.5  30396  7408 ?        S    17:11   0:00  \_ /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
Also unnötige Apache-Module rausschmeißen.
Oder wird PHP eingesetzt? Das ist eh alles zu spät...
 
Das steht in den Log-Files.

Nicht wirklich:
Code:
[Mon Jan 19 17:12:32 2009] [notice] caught SIGTERM, shutting down
[Mon Jan 19 17:12:34 2009] [notice] Apache/2.2.3 (Debian) PHP/5.2.0-8+etch13 configured -- resuming normal operations
[Mon Jan 19 17:12:40 2009] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Mon Jan 19 17:12:44 2009] [notice] caught SIGTERM, shutting down
[Mon Jan 19 17:12:46 2009] [notice] Apache/2.2.3 (Debian) PHP/5.2.0-8+etch13 configured -- resuming normal operations
[Mon Jan 19 17:12:48 2009] [error] server reached MaxClients setting, consider raising the MaxClients setting

Der Fehler "server reached MaxClients setting" sollte doch nicht stören? Wenn apache die Anfrage von einem "Client" abgearbeitet hat, sollte er doch den nächsten bedienen können? Die MaxClients Einstellung bedeutet doch nur, wieviel Anfragen er gleichzeitig bedienen soll?

Oder wird PHP eingesetzt? Das ist eh alles zu spät...

Was? Wieso?
 
Und was sagt jetzt die Speicherauslastung? (Screenshot von top)
Das sich die Startzeit der Childs nicht innerhalb von 20 Minuten ändert ist noch relativ normal. Je nachdem, wie MaxRequestsPerChild eingestellt ist.
Ob Dein Apache noch arbeitet, kannst Du evtl. mithilfe von mod_status ergründen.

huschi.
 
Wenn ich MaxClients auf 5 setze, geht nach ungefähr 10 Sekunden die Webseite nicht mehr.

Ist es nicht besser, folgende Einstellungen zu reduzieren:

Code:
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10

Damit müßte ich doch auch die Anzahl der laufenden apache-Prozesse begrenzen können? Also diese hier:

Code:
www-data  3047  1.8  7.2 102828  9504 ?        S    23:07   0:02 /usr/sbin/apache2 -k start
 
Wie holt man aus 128 MB das Maximum an Performance raus?

1. nur laufen lassen, was absolut benötigt wird. Also Linux, Apache, MySQL, PHP (wenn benötigt) und evt. Mailserver wie Qmail.

Plesk, Bind, Spamassasin, Dr. Web ect. alles stoppen!

2. Apache konfigurieren

Code:
Timeout 30
KeepAlive On
MaxKeepAliveRequests 150
KeepAliveTimeout 2

Code:
<IfModule prefork.c>
StartServers       1
MinSpareServers    1
MaxSpareServers    2
ServerLimit       5
MaxClients        5
MaxRequestsPerChild  4000
<IfModule>

3. Apache Module deaktivieren welche nicht zwingend benötigt werden.

Code:
mit [COLOR="Red"]#[/COLOR] Apache Module ausklammern

[COLOR="Red"]#[/COLOR]auth_anon_module
auth_dbm_module
include_module
mime_magic_module
expires_module
usertrack_module
status_module
autoindex_module
negotation_module
spelling_module
userdir_module

proxy_module
proxy_ftp_module
proxy_http_module
proxy_connect_module
frontpage_module

Jedes Modul der Reihe nach ausklammern und jedesmal Apache neu starten. Kommt es zu Fehlermeldungen, die letzte Ausklammerung rückgängig machen, also das # vor dem Modul wieder entfernen.

128 MB RAM ist sehr wenig und reicht eigentlich nicht für einen heutigen Webserver. 256 MB sollten es schon sein, da Linux, Apache, Qmail, MySQL im Leerlauf schon ~ 100 MB benötigen.

Bei Keyweb.de wirst du keinen vServer oder RootDS mit 128 MB finden. Die wissen auch warum :)
 
Last edited by a moderator:
@noto:
Nur so aus Interesse: Zu welcher Distribution gehört die Anleitung unter Punkt 3?
(SuSE oder Debian ist es jedenfalls nicht.)

huschi.
 
Bei Keyweb.de wirst du keinen vServer oder RootDS mit 128 MB finden. Die wissen auch warum

Die scheinen sehr kostengünstig zu sein, z.B. einen VRS (=VServer??) mit 512 MB Speicher für 8 Euro - das zahle ich momentan auch für meinen VServer mit 128 MB.

Hast du Erfahrungen mit dem Anbieter?

EDIT: Wenn ich diese Einstellungen vornehme, geht auf der Webseite nach wenigen Minuten gar nichts mehr (liegt wahrscheinlich an MaxClients, hab ich oben ja beschrieben).
 
Last edited by a moderator:
Back
Top