![]() |
Performance checken
Hi!
Wie kann ich einen Webserver überprüfen, warum er zu Spitzenzeiten so langsam ist? Nun, RAM und CPU kann ich mit free & top nachschauen, aber wie sieht's aus mit: - Harddisk (Zu langsam? Datenbus überfordert?) - Wie kann ich das nachprüfen? - Netzanbindung? Wie kann ich die gerade in Anspruch genommene Auslastung nachsehen? (ohne X!) Gibts vielleicht schon eine Test-Suite für sowas? lg paux |
http://www.cps.msu.edu/~enbody/perfmon/
maybe es gibt den auch für linux? http://www.hpl.hp.com/research/linux/perfmon/ :D |
cacti => aufzeichnen
vmstat => kannst du auch per script in cacti einbinden. apachetop |
Zitat:
ad 2) Meinst du vnstat? vmstat kenn ich (noch) nicht. Wenn doch vnstat, seh ich da nicht nur die Tagessumme in MB? Wie kann ich da auf ausreichende Bandbreite schließen? ad 3) Danke, mal schaun was das kann. lg paux |
|
Re: Performance checken
Zitat:
Wie viele Apache Prozesse laufen zu Spitzenzeiten? Auf was ist MaxClients in der httpd.conf eingestellt? |
Eigentlich sollte die Ausgabe von top reichen.
Prozessorauslastung? Ram? sind zu 99,9% zu wenig, wenn du einen modernen Prozessor verwendest. Sind beide nicht ausgelastet, ist es die Platte. Die wird aber selten wirklich belastet bei einem reinen Webserver. Sloter btw: Bandbreite = mrtg Prozesse, Ram = Nagios |
ok, die strategie wäre also: wenn cpu und ram noch spielraum haben und auch eine erhöhung der anzahl von serverprozessen nix bringt, dann sollte eher die bandbreite erhöht werden, bevor neue platten angeschafft werden.
oder? :) lg paux |
Es kommt auch darauf an was für Webanwendungen am Server laufen. Eine PHP/MySQL basierende Website kann z.B. auch durch einen schlecht konfigurierten Datenbankserver ausgebremst werden usw.
|
Zitat:
Die Anzahl der Prozesse brauchst du nicht erhöhen, oder kommt eine Fehlermeldung? Sloter |
Vorweg: Meine Fragen waren eher prinzipieller Natur.
OK, allfällige Backends wie DB oder Appserver sind natürlich ebenfalls ins Auge zu fassen. Nur Platten und Bandbreite hätte ich nicht gewußt ab wann die schuld sein könnten oder wie sie (unter Linux) zu überprüfen wären. @Sloter: Wie sollte denn die Fehlermeldung lauten? Ruft Apache von selbst nach mehr children wenn die Maximalzahl nicht ausreicht? lg paux |
Zitat:
Zitat:
|
Zitat:
Ram, Ram und nocheinmal mehr Ram :D Sloter |
Zitat:
majorgeeks01:/var/log/apache# cat error.log | grep MaxClients [Wed Sep 29 09:29:41 2004] [error] server reached MaxClients setting, consider raising the MaxClients setting [Wed Sep 29 10:55:19 2004] [error] server reached MaxClients setting, consider raising the MaxClients setting majorgeeks01:/var/log/apache# Auffällig ist in einer solchen Situation auch, das die Prozesse bei top auf einen gewissen Wert bleiben, so z.b. bei MaxClients 256 im 2XX Bereich. Im Attachmant ein Screenshot einer solchen Situation bei MaxClients 2048. Um solche Werte zu erreichen (2048) muss man aber schon 3DMark05 hosten ;) Apache selber hat normalerweise ein Hard Limit von 256 (512 bei Debian) MaxClients hat. Um das zu ändern muss Apache neu kompiliert werden. Einige Hostingsoftware wie cPanel erhöhen die MaxClients aber auch selbstständig je nach Serverauslastung. |
Hallo,
ich nerv mal wieder ein bißchen :) Inwiefern lassen sich Hochrechnungen anstellen bzw. Voraussagen machen der Art "Mit dieser Hardwareausstattung wird Apache etwa X Req./s mit Y kb/s abarbeiten können"? Natürlich wird's gegen Ende der Fahnenstange (RAM) nichtlinear, sprich ein bißchen mehr Verkehr bringt das System noch weit mehr ins Schwitzen. Aber kann man z.B. sagen, was weiß ich, "Derzeit ist unser System zu 1/3 ausgelastet, also vertragen wir noch 3x so viel Traffic"? Konkret will ich einfach wissen, wie weit unser 3.2GHz P4 mit 1GB RAM gehen kann, sofern wir dem Apache natürlich jeden Freiraum bzgl. Konfig geben (Patchen ausgeschlossen), bzw. *wie* gut sich eine Verdopplung des RAM auswirken würde. lg paux |
Zitat:
|
Wie Phlipp schon schrieb, kommt es sehr auf die Anwendungen an, die daruf laufen.
Imho, gute Mischung von PHP (MySql Abfragen) und HTML sollte er 50 GB - 80 GB locker schaffen. Sloter |
Zitat:
Zitat:
Über Req./s kann man wahrscheinlich nix mehr sagen, oder? lg paux |
Im nehme an im Monat ;)
Mit durchschnittlichen PHP Scripten wären ungefähr 200000 - 300000 Seitenaufrufe/Tag theoretisch möglich. Ich würde je nach verwendeten Script eventuell auch noch Truck MMCache installieren. Wirklich kritisch wird es eigentlich erst ab 1000000 Seitenaufrufe/Tag. |
Zitat:
Eine Abfrage z.B über 5 Tabellen mit einigen tausenden Datensätze kostet unnötig Zeit. 2, Im Monat wie Phlipp schon schrieb. Es wird nicht nach durchschnittlicher Übertragungsgeschwindigkeit gewertet, sondern nach Peaks (Spitzen). Wenn ich deine Rechnung hernehme, genügt eine 1 MBit/sec Leitung und ich kann ungefähr 320 GB Traffic im Monat machen. Diese Rechnung ist leider nicht ganz richtig. In der Nacht oder am Vormittag wird der/die Server/Leitung überhaupt nicht ausgelastet sein. Wichtig sind die Peaks und die muß die Leitung und der Server aushalten. Freitag Abend oder wenn es regnet/schneit kommen die Peaks :-) Hängt aber auch wieder stark von der Zielgruppe ab. Sloter |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 15:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag