Server langsam - wie kann ich es beheben

FoBo

New Member
Hallo ihr lieben,

ich habe die Suchfunktion schon bemüht, finde aber als (in diesem Fall Newbie) wohl nicht die richtigen Schlagworte.

Ich habe einen dedicated Server bei Strato. Ich kann euch aber nicht einmal die technischen daten sagen, weil ich die nicht finde. Ihr seht, alleine dabei fängt es an. Bisher lief der Server ja, deswegen habe ich mir nie richtig Gedanken darüber gemacht.

Jetzt ist es aber anders: seit ein paar Wochen läuft der Server nicht mehr richtig. Teilweise kommen "too many connections"-Fehlermeldungen, oder aber der Seitenaufbau dauert bis zu mehreren Minuten. Also: ein flüssiger Betrieb ist da teilweise nicht zu bieten.

Deshalb rief ich dann auf der Strato-Hotline an, der wollte dann von mir was wissen über irgendwelche Auslastungen über die Monitor-Funktion in Shell.
Mit Shell kann ich was anfangen, man nennt es auch putty, allerdings weiß ich nicht, wie ich da irgendwelche Werte raussuchen soll und schon gar nicht diese zu interpretieren um eventuelle nicht benötigte Dienste auszuschalten.

Ich bin aber gerne bereit zu lernen, nur sollte da nicht zu viel Fachchinesisch bei sein, sonst stehe ich genau so da, als würde ich euch etwas über eine Nebenkeulenunterdrückung erzählen (mein "Fachgebiet"... ;))

So hoffe ich jetzt auf eure Hilfe:

1. Wie stelle ich fest, warum der Server instabil läuft, worauf muß ich achten
2. Welche Dienste werden benötigt, welche können abgeschaltet werden
3. welche Befehle benötige ich dafür

Seid nicht böse, aber ich als absoluter Newbie benötige da wirklich eure Hilfe, auch wenn alles schon 100 mal durchgekaut wurde oder es euch zu lapidar erscheinen mag...

Das ich das Problem jetzt schon was länger habe kommt es auf ein oder zwei Tage jetzt auch nicht an...
 
Da dir wesentliche Grundlagen fehlen, habe ich zumindest ein paar Links rausgesucht

Shell/Putty
PuTTY: a free telnet/ssh client

Befehle die dir helfen werden:
ManPage:ps - Unixboard.de Wiki
Manpage of TOP
Manpage of FREE
df(1): report file system disk space usage - Linux man page

Systempflege:
Linux warten: System pflegen

Und grundsätzlich:
Galileo Computing :: Linux
 
So, ich habe das selbe Problem. Fehlermeldung:

server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)

Jetzt habe ich von der Materie genau so viel Ahnung wie ne Kuh vom Schlittschuhlaufen. Bis vor 2 Wochen lief alles noch - jetzt so gut wie gar nicht mehr.

Wo finde ich die Möglichkeit, die Werte zu ändern?

In einem anderen Forum habe ich dann auch noch gelesen, daß es eventuell daran liegt:

Nach Eingabe von
netstat
stellte ich fest, daß ein Server in Moskau permanent http-Verbindungen
aufbaute*), und wenn was frei wurde, sofort wieder drauf losging. Das
hat die Kiste irgendwann getötet.

Nachdem ich die Adresse probeweise per Paketfilter geblockt hatte, lief
der Server wieder normal.

Jetzt habe netstat gestartet, weiß aber nicht, woran ich erkennen kann, ob sich da jemand eingeklinkt hat...
 
<MOD>
Bleiben wir doch einfach im ursprünglichen Thread...
</MOD>

server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)
Wo und wann erscheint diese Meldung

Wo finde ich die Möglichkeit, die Werte zu ändern?
Steht in der Glaskugel direkt neben mir: /etc/apache2/server-tuning.conf.
Plus minus ein paar Buchstaben.
Aber evtl. willst Du uns noch ein paar mehr Info's über Deinen Server geben. (aber nur vielleicht...)

huschi.
 
Die Meldung erscheint im error_log, nur: das ist jetzt komischer weise leer.... Wie kann das?

Ich will Deine Glaskuge ja nicht überstrapazieren ;), deswegen hier mal die Daten zum Server.

Es ist der Strato HighEnd Server Sr2 (v4.9), 2000GB inkl. Traffic, 2x 160Gb Hdds die Standardmässig im Raid 1 Arbeiten ,1Gb Ram.

Was ich nur zum Kotzen bei Strato finde, ist das sie nicht anbieten, auf einen schnelleren Server umzuziehen, denn den SR2 gibts bei denen gar nicht mehr im Angebot :mad:


Okay, die tuning-conf. sieht bei mir so aus:

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 150
MaxClients 150
MaxRequestsPerChild 0

<IfModule worker.c>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
MaxClients 150
ThreadsPerChild 25
MaxRequestsPerChild 0

<IfModule leader.c>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
MaxClients 150
ThreadsPerChild 25
MaxRequestsPerChild 0

<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0

<IfModule metuxmpm.c>
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxRequestsPerChild 0

Kann man das so stehen lassen?
 
Finde erstmal den Grund Deiner Auslastung. D.h. mit top und ps nach Prozessen suchen, die hohe Last ziehen (falls überhaupt vorhanden).

huschi.
 
/etc/apache2/server-tuning.conf
Code:
Timeout 30
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2
teste mal die obigen Einstellungen. Und dann brauchen wir wie Huschi bereits sagte eine Kopie vom Befehl
Code:
top
und von der Datei
Code:
 /etc/my.cnf

Beispiel einer Konfiguration bei 1 GB RAM

/etc/apache2/server-tuning.conf
Code:
Timeout 30
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2

<IfModule prefork.c>
StartServers       1
MinSpareServers    2
MaxSpareServers    5
ServerLimit       50
MaxClients        50
MaxRequestsPerChild  8000
<IfModule>

und die Einstelungen für /etc/my.cnf
Code:
[mysqld]

key_buffer = 15M
net_buffer_length = 8K

sort_buffer_size = 32K
myisam_sort_buffer_size = 32K

read_buffer_size = 16K
read_rnd_buffer_size = 32K
join_buffer_size = 512K

query_cache_size = 4M
thread_cache = 32
table_cache = 512
max_allowed_packet = 256K

max_connections = 50
low_priority_updates = 1
long_query_time = 2

anschließend Apache und MySQL neu starten, damit die Änderungen wirksam werden. Zudem könntest du alle nicht benötigte Apache Module ausklammern, damit diese nicht mehr beim Start von Apache geladen werden. Das spart nochmal RAM + CPU

Mit einem Texteditor wie vim kann man beide Dateien editieren. Anleitungen zu vim haben wir irgendwo im Forum. Ach ich schreib schnell..

Anleitung vim

Datei im Texteditor vim aufrufen
Code:
vim /etc/my.cnf
nun die Taste
Code:
ESC
drücken und mit dem Cursor (Pfeiltasten) zur der Stelle gehen wo man editieren möchte. Nun die Taste
Code:
 i
drücken und mit der Taste
Code:
Enf
den zu editierenden Text entfernen und überschreiben.

Nachdem alles editiert wurde, speichern wir die Änderungen mit den Tasten
Code:
:wq
Falls man Mist gebaut hat, schließen wir den Editor ohne die Änderungen zu speichern mit den Tasten
Code:
:q!

Tip:

Nur zum editieren in den 'i' Modus wechseln. Ansonsten immer im 'ESC' Modus bleiben.
 
Last edited by a moderator:
Hallo,

Die Meldung erscheint im error_log, nur: das ist jetzt komischer weise leer.... Wie kann das?
wenn Du es nicht geleert hast war das entweder Logrotate (dann gibt's aber ein archiviertes Errorlog) oder ein Hacker. Meine Glaskugel zeigt ein Hackergesicht. :o

Welche Distribution, welche Version davon und welcher Kernel laufen? Was ist an PHP-Scripts installiert?
 
Back
Top