PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lan Web Server zu langsam



mxlabs
06.12.05, 09:56
Ich habe einen lan web server in einem netzwerk mit ~400 leuten. Die meisten webseiten auf dem server laufen über php4 mit mysql anbindung.

Die sache hat ein riesen problem: Wenn mehr als 5 leute gleichzeitig auf dem server sind dann dauert es eine ewigkeit bis man mal was angezeigt bekommt.

hier mal die Server Stats:

Debian Stable (sarge) Kernel 2.6
256 mb DDR Ram
2.8 intel celeron
300gb festplate (ide)
1gb lan

Ist nicht gerade die perfekte hardware... Woran liegt es das das teil so extrem langsam wird wenn mehr als 5 leute drauf zugreifen?
(wahrscheinlich an der hardware..? / welcher teil der hardware?)

marce
06.12.05, 10:03
erster Ansatz - Speicher...

(wie groß ist denn die MySQL-DB?)

mxlabs
06.12.05, 10:10
mysql ist ~3 mb groß.

marce
06.12.05, 10:20
würde dann einfach mal ein top beobachten, wer denn die hohe Last verursacht...

Welche Versionen laufen denn darauf?

mehr als Apache + MySQL macht er def. nicht?

Interessant wäre auch grob, was die Applikation denn tut...

.morph
06.12.05, 10:45
Hi,

das ist ganz klar der Hauptspeicher, der ist mindestens 256MB zu klein. Meines Erachtens sollte da sogar ein 1GB Riegel rein.

Aber wie Marce schon sagt. Wichtiger ist zu wissen welche Application diesen Serverload verursacht.

-uw

mxlabs
06.12.05, 10:45
Mysql Ver 12.22 Distrib 4.0.24, for pc-linux-gnu (i386)
Apache/1.3.33 (Debian GNU/Linux)

Mehr macht der server nicht.

Der server hat ein recht großes daten transfer volumen weil teilweise bis zu 400 mb dateien gedownloaded werden.

.morph
06.12.05, 10:49
Der server hat ein recht großes daten transfer volumen weil teilweise bis zu 400 mb dateien gedownloaded werder.

Autsch, dann solltest Du ein LoadBalancing einbauen. Dann scheint es nämlich nicht am Rechner zu liegen, sondern daran, dass die anderen keine Verbindung kriegen.


http://www.little-idiot.de/linuxsolutionguide/firewall-qos.htm

-uw

mxlabs
06.12.05, 11:06
ok.. das bedeutet aufrüsten auf einen gb ram + loadbalancing einbauen..

danke für die hilfe,

mx

marce
06.12.05, 11:19
Der server hat ein recht großes daten transfer volumen weil teilweise bis zu 400 mb dateien gedownloaded werden.
das sind aber hoffentlich statische Dateien? Oder werden die dynamisch erzeugt?

mxlabs
06.12.05, 11:20
Statische dateine (werden allerdings durch ein php script umbennannt zb. von a20df31.zip in test.zip um sicher zu gehen das nur zugelassene benutzer bestimmte daten downloaden können und die dateinamen nicht erraten können)

Was ich noch nicht so ganz an dem loadbalancing verstehe ist wie man es hinbekommt das die webseiten immer genug traffic zu verfüging haben aber die downloads im limit runter gesetzt werden..?

.morph
06.12.05, 12:45
Hi,

wie man das realisiert, kommt in erster Linie auf die Netzwerktopologie an. Im weiteren Sinne geht es jedoch darum, Datenpakete entsprechend bestimmter Kriterien zu markieren und in eine Warteschlange zu setzen.

Den Link hatte ich ja schon genannt. Lies Dir das mal richtig durch. ;)

-uw

mxlabs
07.12.05, 20:13
hab ich nur was ich an der sache noch nicht so ganz verstehe ist wie ich das aufteilen soll so dass html anfragen auf webseiten (nur seiten, bilder, css files, flash files) immer ein minimum von 20 kb haben, aber die downloads in der geschwindigkeit je nach traffic langamer werden..

Wenn das 2 verschiedene ports wären, klar kein problem, nur es handelt sich um ein und den selben port...

marce
08.12.05, 06:03
hm, also bei uns ist das kein Problem mit großen Downloads während parallel andere auf Webseiten zugreifen - allerdings haben wir hier auch etwas größere Rechner rumstehen... das sollte eigentlich nicht 100%-ursächlich sein... - wie ist denn in der Apache-Config in Bezug auf KeepAlive, MaxClients und derlei eingestellt?

marce
08.12.05, 06:07
... übrigens schuldest Du uns immer noch die Ausgabe von top, ps -fe oder ähnlichem, evlt. auch mal free oder ein mrtg-Bildchen... Sowas hülft ungemein...

oracle2025
08.12.05, 12:19
Statische dateine (werden allerdings durch ein php script umbennannt zb. von a20df31.zip in test.zip um sicher zu gehen das nur zugelassene benutzer bestimmte daten downloaden können und die dateinamen nicht erraten können)

Wie wird das genau gemacht? könnte sein das da der Hase im Pfeffer liegt.

fpassthru wäre beispielsweise eine korrekte Lösung in PHP.