mmofacts.com

Server-Last zu hoch?

gepostet vor 18 Jahre, 4 Monate von McSodburner
Hi,
also ich bin Admin von einem kleinen Browsergame, dass dummerweise jetzt in einem Artikel von Chip Online erwähnt wurde. Somit hatten wir gestern mal spontane 900 Anmeldungen (nicht, dass ich mich nicht freuen würde ).
Aber nun häufen sich die "Internal Server Error"-Fehler und ich hab ehrlich gesagt keine Ahnung, wo ich mit suchen anfangen soll, da ich nicht wirklich Ahnung von der Server-Administration habe (-> Managed Server: LAMP).
Woran könnte es liegen?? Ich hab hier etwas, was mir aber nicht viel sagt... wonach könnte ich noch suchen?
Danke schonmal,
Christoph
gepostet vor 18 Jahre, 4 Monate von Flint
Schau mal ins Apache Log, da sollte etwas mehr stehen, "Internal Server Error" ist zu allgemein.
gepostet vor 18 Jahre, 4 Monate von McSodburner
Hi, die access.logs sind alle in einem Verzeichnis für den Kunden gesammelt. Dort stehen allerdings keine 500er-Fehler drin.
Ein error.log ist da leider nicht drin bzw. kann ich auf dem gesamten Rechner nicht über die Shell finden.
gepostet vor 18 Jahre, 4 Monate von Flint
Da der Server ja Managed ist würde ich mich einfach mal an den Manager wenden. Vermutlich muß die Apache Konfiguration eh angepasst werden um die höhere Zahl von gleichzeitigen Zugriffen in den Griff zu bekommen.
gepostet vor 18 Jahre, 4 Monate von Skyrunner
Ich weiss, es passt nicht zum Thema, aber wie heißt das Paket, was dir diese schöne grafische Auswertung macht?
gepostet vor 18 Jahre, 4 Monate von McSodburner
@Flint:
Also die Anzahl gleichzeitig ausführbarer Prozesse kann ich über ein Interface ändern. Hilft mir das weiter? Steht derzeit auf 100. Aber für einen Zugriff wird doch nur ein Prozess erstellt, oder?! Und da ich auf jeder Seite einen DB-Zugriff habe, müssten die Zahlen von DB-Zugriffen und Seiten-Zugriffen übereinstimmen (keine persistente Verbindung), richtig?! Da war das höchste, was ich je hatte, 87 gleichzeitige Prozesse. Daran dürfte es dann doch auch nicht liegen.
Würds nur so gern verstehen, wonach ich in Zukunft so suchen muss, wenn ich wieder ein Problem habe. Deshalb meine Fragerei an euch und nicht an den "Support".
@Skyrunner:
Das ist das RADTool.
Gruß,
Christtoph
gepostet vor 18 Jahre, 4 Monate von HSINC
rausbekommen was der "Internal Server Error" bedeutet, bzw was ihn hervorruft, also errorlogging im apa anschalten (was eigentlich standardmässig an sein sollte, also den manager fragen), da steht deutlich mehr drinne.
je nach fehlermeldung kann man dann erst sagen was zu machen ist.
ansonsten aus den stats, die cpu ist an der grenze, aber noch nicht überlastet, speicher wird wohl bissi knapp sein, ist die frage ob er zuviel swapt, keine ahnung ob 250 bloecke r/w /s zuviel sind.
gepostet vor 18 Jahre, 4 Monate von Itchy
Ich glaube nicht, daß der Fehler am Mangel von Hardwareressourcen liegt (die Diagramme sehen alle in Ordnung aus).
Ich würde vermuten, daß der Fehler entweder in der Apachekonfiguration oder aber in der Applikation zu finden ist.
gepostet vor 18 Jahre, 4 Monate von mifritscher
Also, ich rate jetzt einfach mal ins Blaue:
Dein load geht da recht plötzlich auf weit über 1 (es laufen immer mehrere Prozesse geleichzeitig).
Mag deine Anwendung vielleicht nicht, dass mehrer Instanzen davon gleichzeitig ausgeführt werden? nen 500er bedeutet meist dass das Script abbrechen muss, ähnlich den Parse- oder Fatal Errors. Meist steht in den Logs was genau schief gegangen ist, eventuell musst du das irgendwei freischalten, aber da musst du mit deinem Manager reden.
Ehrlich gesagt, bei nem Peak von 87 würde ich das Limit auf weit über 100 stellen...
gepostet vor 18 Jahre, 4 Monate von knalli
Original von McSodburner
@Skyrunner:
Das ist das RADTool.
Gruß,
Christtoph

leicht OT:
Wohl eher rrd-Tool, oder?
Hat wer eine Art Tutorial für das komplette Konfigurieren einer Load/Traffic/what else Analyse? Also, nicht nur DB erstellen, sondern auch Datenfütterung usw..
gepostet vor 18 Jahre, 4 Monate von Kampfhoernchen
Jo, das würde mich auch mal interessieren.
gepostet vor 18 Jahre, 4 Monate von BLUESCREEN
Original von McSodburner
Woran könnte es liegen?? Ich hab hier etwas, was mir aber nicht viel sagt... wonach könnte ich noch suchen?

Du solltest vor allem erstmal mehr Details zur Serverkonfiguration posten: Verwendete Hard- und Software (inkl. Versionsnummern).
An den Graphen sieht man, dass der Prozessor ziemlich viel zu tun hat - du könntest, wenn du in den Logdateien nichts findest, erstmal mit "top" nachgucken, welche Prozesse gerade viel CPU-Last erzeugen. Mglw. liegt es nicht am Webserver sondern am DB-Server?
gepostet vor 18 Jahre, 4 Monate von garyx7de
So wie das aussieht sind die einstellungen vom Apache Server nicht gerade gut eingestellt. Wobei dann sicher auch noch der DB Server falsch eingestellt ist.
Hatte das Problem auch bevor ich mir nen eigenen Root-Server zugelegt habe.
gepostet vor 18 Jahre, 4 Monate von McSodburner
Vielen Dank an euch alle. Ich werd mal mal beim Hoster anfragen, was im Error-Log steht.
top funktioniert bei mir leider nicht. Bringt die Ausgabe von ps aux einen weiter? Das hat er bei mäßiger Belastung ausgeworfen.
EDIT
Mich wundert gerade, dass die ganzen Apache-Prozesse am Anfang recht alt sind. Müssten die nicht beendet werden?

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
pxxxxxxx 25193 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25194 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25195 0.0 0.6 5052 3080 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25196 0.0 0.5 5052 3060 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25197 0.0 0.6 5052 3080 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25198 0.0 0.5 5052 3072 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25199 0.0 0.6 5064 3088 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25201 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25202 0.0 0.5 5052 3060 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25203 0.0 0.6 5052 3080 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25207 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25208 0.0 0.5 5052 3060 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25209 0.0 0.6 5072 3096 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25210 0.0 0.5 5052 3060 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25211 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25212 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25213 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25214 0.0 0.5 5052 3060 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25215 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25216 0.0 0.6 5052 3080 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25217 0.0 0.5 5052 3060 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25218 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25219 0.0 0.6 5052 3080 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25220 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25221 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25222 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25223 0.0 0.6 5060 3088 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25224 0.0 0.5 5052 3060 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25225 0.0 0.6 5060 3080 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25226 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25227 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25228 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25229 0.0 0.5 5052 3068 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25230 0.0 0.6 5052 3080 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 25231 0.0 0.5 5052 3060 ? S 10:43 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 30565 0.0 0.2 2604 1456 ttyp0 SN 10:53 0:00 -bash
pxxxxxxx 465 0.0 0.5 5052 3052 ? S 10:59 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 489 0.0 0.5 5040 3048 ? S 10:59 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 598 0.0 0.5 5052 3064 ? S 10:59 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 864 0.2 0.5 5052 3056 ? S 11:00 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 880 0.0 0.5 5040 3048 ? S 11:00 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 960 0.0 0.5 5040 3052 ? S 11:00 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 996 0.0 0.5 5040 3052 ? S 11:00 0:00 /usr/local/apache/perf/sbin/httpd
pxxxxxxx 1005 0.2 1.4 16632 7392 ? S 11:00 0:00 php5
pxxxxxxx 1463 2.7 1.6 17820 8568 ? R 11:01 0:00 php5
pxxxxxxx 1512 4.0 1.3 16024 6676 ? S 11:01 0:00 php5
pxxxxxxx 1524 0.0 0.0 0 0 ? Z 11:01 0:00 [httpd ]
pxxxxxxx 1527 0.0 0.1 2576 776 ttyp0 RN 11:01 0:00 ps aux
gepostet vor 18 Jahre, 4 Monate von McSodburner
Vorhin hatte ich beim mäßigem Traffic über mehrere Stunden plötzlich 100% CPU-Auslastung und einen Load, der mal spontan bis 8 ging. Beim Support angerufen und der meinte, sie könnten ja mal den Server komplett neu starten. Ähhh... starke Lösung
Mittlerweile ist komischerweise bei mehr Traffic wieder alles normal.
Hat etwa jemand eine Voodoo-Puppe von dem Rechner gebastelt?
gepostet vor 18 Jahre, 4 Monate von mifritscher
also, wenn top nicht geht dann ist was größeres put, wenns einfach nicht installiert ist mit aptitude install top bei debian/ubuntu oder mit yast bei suse nachinstallieren.
Zu der Ausgabe:
dein apache (wieso eigentlich version 1.x und nicht 2.x?) ist unter /usr/local-> da wurde wohl selbst kompiliert, anstatt die Version von der Distro zu nehmen. würde dir immer empfehlen die versionen (und Konfigurationen!) der Distro zu nehmen, die sind in den allermeisten Fällen vernünftig voreingestellt.
Der Apache selbst ist alles andere als gut eingestellt, wieso erzeugt der so viele Prozesse? kann man in der httpd.conf oder apache.conf einstellen, ist meist recht weit oben (MinSpareServer/MaxSpareServer). Der hat so viele Prozesse, dass die dann nicht mehr ins RAM passen->muss Auslagern->load steigt extrem ->Server lahmt
Mal ehrlich, wenn gemagte Server immer so aussschauen befürchte ich schlimmes...
gepostet vor 18 Jahre, 4 Monate von HSINC
naja, 40 apa prozesse sind ja an sich nichts schlimmes und ob das ding swapt ist so nicht ersichtlich. und ohne die httpd.conf würd ich mich da auch zu keiner aussage hinreisen lassen ob das ding schlecht eingestellt ist (siehe auch: mehr server, weniger fork)
zu plötzlicher 100% cpu last, sowas passiert ^^, dann ist die kiste eben mit den scripten/ankommenden anfragen einfach ausgelastet. das die load dann hochgeht ist auch klar. werden die seiten halt langsamer ausgeliefert.
ist aber kein grund für nen 500 error
inwiefern man die scripte optimieren kann oder die servereinstellungen optimieren kann oder sachen installieren/ändern um die ganze sache zu beschleunigen (php cache) nunja, da kann man so ohne infos nicht viel drüber sagen. kostet auch ne menge zeit sich da durchzuwühlen ^^
gepostet vor 18 Jahre, 4 Monate von Itchy
würde dir immer empfehlen die versionen (und Konfigurationen!) der Distro zu nehmen, die sind in den allermeisten Fällen vernünftig voreingestellt.


Naja, jedem das seine.
Itchy, der als erstes immer die vorinstallierten Apache, MySQL und PHP Pakete entfernt
gepostet vor 18 Jahre, 4 Monate von Kampfhoernchen
Hoernchen, das immer XAMPP komplett umkonfiguriert (1. Schritt: Register Globals 3 mal ausschalten )
gepostet vor 18 Jahre, 4 Monate von TheUndeadable
Was mir auffällt, dass alle Apache-Prozesse mit jeweils 0,5 % arbeiten. Zusammenaddiert wären es laut meiner Rechnung etwa 20%. Sieht für mich aus, als ob ein Skript oder ähnliches sich nicht beendet und jeder Apache-Prozess arbeitet.
Kann aber auch sein, dass ich mich total irre (TheUndeadable <- IIS-Nutzer, daher nur wenig Ahnung von Apache)
gepostet vor 18 Jahre, 4 Monate von HSINC
die brauchen 0.5% speicher, net cpulast ^^
gepostet vor 18 Jahre, 4 Monate von Fornax
20% RAM sind doch auch viel, oder?
gepostet vor 18 Jahre, 4 Monate von Itchy
Prozent, "von Hundert", nicht 0.5 von 1.0 sondern 0.5% von 100%.
gepostet vor 18 Jahre, 4 Monate von McSodburner
Der Support hat einfach mal den Rechner neu gestartet und siehe da: Plötzlich ist die Belastung für den Server wesentlich kleiner. Da ich keinen Einblick in error.log und httpd.conf kriege, denke ich mal, dass die auch dran gedreht haben.
Wie auch immer, jetzt funktionierts wieder sauber.
Danke euch und Gruß,
Christoph
gepostet vor 18 Jahre, 4 Monate von Kampfhoernchen
dafür hat man ja auch nen ManagedServer und bezahlt dafür mehr Geld

Auf diese Diskussion antworten