Am Freitag, 6. Juni 2003 09:52 schrieb Sascha Peters:
Hallo,
ich stelle mir schon seit längerem eine Frage, die ich nun gerne an die Liste weiter geben würde. Wir haben hier in der Firma einen Server von DELL.
2 SCSI Platten a 16GB im RAID verbund 1 SCSI Platte a 32 GB Intel Pentium III 700 256 MB-Ram
2 Netzwerkkarten
das ist die Grobe Ausstattung des Servers.
Auf diesem Server laufen aber sehr viele Dienste es ist eigentlich klar das so viele Dienste nicht auf einem solchen Server laufen sollten, sondern getrennt, aber mich interessiert viel mehr warum genau. Aber dazu gleich mehr.
Es laufen darauf folgende Dienste die auch genutzt werden müssen, und ständig von bestimmt 5 ab und an auch 10 leuten genutzt werden.
System ist SuSE 7.3
Apache 1.3 (eigenes PHP, mit ZendOptimizer) MySQL 3.23 Samba 2.3 OpenLDAP exim 4.12 fetchmail CVS NFS Server
rsync over SSH in der Nacht. (von anderem Rechner aus)
So, nun kann man sich wieder darum streiten warum so viele Dienste auf einem Server laufen, aber Samba wird genutzt um die HTML und PHP Daten zu bearbeiten, der Apache zeigt diese dann an. OpenLDAP läuft auf der Kiste weil sie die "sicherste, stabilste" ist und NFS ist für Sicherungen genau wie Rsync. Mailserver ist auch wegen der Sicherheit und der Stabilität auf der Kiste installiert.
Der Rechner kommt mit all diesen Diensten klar. Er stürzt nie ab, ist also sehr stabil. In der Regel ist die Geschwindigkeit auch einigermaßen gut, doch sollten mehrere PHP Anwendungen extrem auf die MySQL zugreifen, oder irgend ein Cron viel auf die Festplatte zugreifen, Daten gesucht werden, oder ein Backup gemacht wird dann ist der Rechner sehr leicht schnell voll ausgelastet.
Jetzt zerreist mich nicht in der Luft, aber ich bin auf der Suche nach den genauen Gründen dafür, ab und an ist der Server auch sehr langsam wenn die Load nicht so hoch ist oder der Ram nicht total voll ist. Wie erkenne ich welche Anwendung, welcher Apache wie viel Festplattenzugriffe braucht. Ist bei 5 Usern die den Apache und die MySQL nutzen die Platte wirklich so schwer beschäftigt das dies alleine schon ausreicht um alles langsam zu machen? Würde es schon ausreichen verschiedene Dienste auf andere Platten zu legen? Oder ist hier wirklich die Verarbeitung der einzelnen Dienste vom Betriebsystem die "bremse"?
Ich weiß nicht genau wie ich es beschreiben soll, aber ich würde gerne die "Anforderungen" der einzelnen Dienste wissen, oder irgendwo nachlesen. Muss ich mir, um wieder auf die Plattenzugriffe zurück zu kommen das so vorstellen, dass der Lesekopf der Platten hin und her springen muss um die einzelnen Dienste quasi gleichzeitig abarbeiten zu können, und somit auch jeder ständig genutzte Dienst eine extreme mehr last eines Servers bedeutet? Das würde dann aber eine Besserung bedeuten wenn man es auf eine andere Platte legen würde.
Was empfehlt ihr mir um die Gründe zu suchen, und was empfehlt ihr um die Dienst, nicht aber die Daten selber aufzuspalten. NFS ist meiner Erfahrunf nach nicht so stabil, und cached auch rigendwie komischerweise sehr viel. auf dem einen System gemountete und geänderte DAten sind auf einem anderen noch im alten zustand.
danke für euere Hilfe.
Ich würde an deiner Stelle vielleicht mal an einen RAM-Ausbau nachdenken, das könnte was bringen. 512 MB sind kein Luxus. Ansonsten halt mal mit vmstat und top beobachten, was die hohe Systemlast verursacht. Bei den paar Nutzern kann ich mir aber zumindest nicht vorstellen, dass eine 2-Prozessormaschine nötig wäre. Kannst auch mal mit ifconfig schaun, ob es viele Kollisionen im Netzwerk gibt. Dann sind vielleicht die Netzwerkkarten nicht richtig konfiguriert (Voll-Duplex, Halb, Auto). Gruß Peter