Wir haben einen V-Server von hosteurope, aber der RAM war/ist immer voll!
Eigentlich sollten wir 256MB "zugesichert" haben und 512MB dynamisch....
aber er ist zu 99.6% voll DAUERHAFT....
Ich denke das die irgendwie nicht ganz in der Lage sind den RAM richtig aufzuteilen...
Aber zu meiner eigentlichen Frage:
Wisst ihr zufällig wie ich den RAM mal entleeren kann?
SSH Connection auf den Linux Server hab ich....
Server Ram voll....
gepostet vor 16 Jahre, 9 Monate von ThaDafinser
gepostet vor 16 Jahre, 9 Monate von Lubi
Da hast du keine Chance. Hosteurope gewährt dir als den RAM auch nicht als ausschließlich Physikalischen Speicher. Und ich wette, dass der Bereich der Auslagerungsdatei nicht vollständig ausgelastet ist...
(ich hab selbst zwei VPS 2.0 Linux von HE)
(ich hab selbst zwei VPS 2.0 Linux von HE)
gepostet vor 16 Jahre, 9 Monate von None
Hmm... dann habe ich mit meinem VPS Windows wohl noch Glück.
768 MB sollen es sein, 600 MB waren es letztens noch.
768 MB sollen es sein, 600 MB waren es letztens noch.
gepostet vor 16 Jahre, 9 Monate von TBT
nur benutzter Ram ist guter Ram!
Bist du dir sicher das er voll ist,
und nicht einfach nur als Cache oder Puffer genutzt wird?
Ich selber habe einen VServer mit 512 MB Ram
auf dem weit mehr läuft als ein Browsergame und der
Ram ist lange nicht voll.
Eine sauber Grundinstallation mit Web-/Mail-/FTP-/SSH-/MySQL-Server
sollte nicht mehr als 120MB Ram belegen.
Mein minimalst installierter Rechner braucht gerade mal 33 MB Ram
im laufenden Betrieb
Bist du dir sicher das er voll ist,
und nicht einfach nur als Cache oder Puffer genutzt wird?
Ich selber habe einen VServer mit 512 MB Ram
auf dem weit mehr läuft als ein Browsergame und der
Ram ist lange nicht voll.
Eine sauber Grundinstallation mit Web-/Mail-/FTP-/SSH-/MySQL-Server
sollte nicht mehr als 120MB Ram belegen.
Mein minimalst installierter Rechner braucht gerade mal 33 MB Ram
im laufenden Betrieb
gepostet vor 16 Jahre, 9 Monate von Todi42
Jedes anständige OS versucht das RAM immer so weit wie möglich zu nutzen. Wenn der Speicher wirklich knapp ist, müstest Du das daran erkennen können, dass der Rechner anfängt ständig Sachen ins Swap-File auszulagern.
gepostet vor 16 Jahre, 9 Monate von TBT
logge dich mal per ssh ein,
und poste die Ausgabe von
cat /proc/meminfo
hier
und poste die Ausgabe von
cat /proc/meminfo
hier
gepostet vor 16 Jahre, 9 Monate von duschendestroyer
offtopic:
im laufenden Betrieb
meiner 7mb
Mein minimalst installierter Rechner braucht gerade mal 33 MB Ram
im laufenden Betrieb
meiner 7mb
gepostet vor 16 Jahre, 8 Monate von poncho
Ich hatte mit meinem VPS Linux 2.0 XL anfangs auch ein paar Speicherprobleme. Es kamen immer Warnungen, weil über 512MB gebraucht wurden.
Nach ein paar Optimierungen an Apache, MySQL, Spamassassin und Courier liegt der durchschnittliche RAM-Verbrauch nun bei 300 MB.
Man darf auch nicht vergessen, dass unter Virtuozzo im Gastsystem der Speicherverbrauch vom Wirtsystem angezeigt wird und nicht der der eignen virtuellen Maschine.
Zur Anzeige nutze ich ein kleines Script aus dem Forum im KIS von Hosteurope, inkl. kleiner Anpassungen von mir:
osor.de/upload/vpsmem
Nach ein paar Optimierungen an Apache, MySQL, Spamassassin und Courier liegt der durchschnittliche RAM-Verbrauch nun bei 300 MB.
Man darf auch nicht vergessen, dass unter Virtuozzo im Gastsystem der Speicherverbrauch vom Wirtsystem angezeigt wird und nicht der der eignen virtuellen Maschine.
Zur Anzeige nutze ich ein kleines Script aus dem Forum im KIS von Hosteurope, inkl. kleiner Anpassungen von mir:
osor.de/upload/vpsmem
gepostet vor 16 Jahre, 8 Monate von ThaDafinser
hmm...
Wir haben auch einige Modifizierungen gemacht.
Sprich: Indizierung überholt, Querys optimiert, Bilder bei Apache cachen usw....
Das komische ist dabei jetzt nun:
Ich checke die Generationszeit der Seite von Anfang bis Ende (also PHP + MySQL) alles zusammen und komme zwischen 0.1-0.5s...
Teilweise kommt der Request aber echt extrem spät zurück. Das lag bei der Open Beta Phase beim Start bei 30s!!!
(die Generationszeit bliebt aber bei der ursprünglichen)
D.h:
Woran kann es eurer Meinung nach liegen?
Eigentlich nur noch am Apache oder an der Anbindung sprich Netzwerk/Leitung...
Die MaxConnections sind als Standardwert drinnen d.h. glaube ich um die 150 und soviel Leute hatten wir ja nicht, waren lediglich 40-50 zur gleichen Zeit.
Kann ich mir nicht erklären...
Wir haben auch einige Modifizierungen gemacht.
Sprich: Indizierung überholt, Querys optimiert, Bilder bei Apache cachen usw....
Das komische ist dabei jetzt nun:
Ich checke die Generationszeit der Seite von Anfang bis Ende (also PHP + MySQL) alles zusammen und komme zwischen 0.1-0.5s...
Teilweise kommt der Request aber echt extrem spät zurück. Das lag bei der Open Beta Phase beim Start bei 30s!!!
(die Generationszeit bliebt aber bei der ursprünglichen)
D.h:
Woran kann es eurer Meinung nach liegen?
Eigentlich nur noch am Apache oder an der Anbindung sprich Netzwerk/Leitung...
Die MaxConnections sind als Standardwert drinnen d.h. glaube ich um die 150 und soviel Leute hatten wir ja nicht, waren lediglich 40-50 zur gleichen Zeit.
Kann ich mir nicht erklären...
gepostet vor 16 Jahre, 8 Monate von Kallisti
Neue Apache Prozesse? Wie viele Instanzen haltet ihr persistent? Wie viele sind in Nutzung? Sind weitere Requests innerhalb kleiner Zeitintervalle schneller bis man eine Pause macht? Dann ist es sicher das.
Geht ja nicht um die max Connections, sondern um die Min (wobei es natuerlich nicht 30 Sekunden dauern sollte..).
Geht ja nicht um die max Connections, sondern um die Min (wobei es natuerlich nicht 30 Sekunden dauern sollte..).
gepostet vor 16 Jahre, 8 Monate von Lubi
@TheDafinser:
Wenn ihr 30Sekunden Verzögerung habt, solltet ihr mal gucken, ob eure Scripts versuchen auf externe Seiten zuzugreifen (was ggf. durch eure Firewall geblockt wird). Dadurch würden sich solche Verzögerungen erklären.
Wenn ihr 30Sekunden Verzögerung habt, solltet ihr mal gucken, ob eure Scripts versuchen auf externe Seiten zuzugreifen (was ggf. durch eure Firewall geblockt wird). Dadurch würden sich solche Verzögerungen erklären.
gepostet vor 16 Jahre, 8 Monate von ThaDafinser
Externe Seiten sind keine dabei, liegt alles auf dem selben Server.
Wie kann ich den Apache Prozess prüfen? Bin im Bereich Linux/Apache leider nicht sehr ...."erfahren"
Wie kann ich den Apache Prozess prüfen? Bin im Bereich Linux/Apache leider nicht sehr ...."erfahren"
gepostet vor 16 Jahre, 8 Monate von Kallisti
ps aux | grep apache | wc -l
... ist die Zahl deiner laufenden Apache Prozesse + 1
in der config sollte es ein Setting geben, wie viele Instanzen der Apache mindestens haelt (weiss grad den param nicht).
Hast du mehr aktive User, als aktive Apache Instanzen, muss eben ein neuer Prozess gestartet werden, was immer Zeit/Ressourcen kostet. Allerdings sollte es auch so echt nicht auf 30 Sekunden kommen, ausser es ist was anderes nicht in Ordnung.
Apache Logs nach Serverstart irgendwas auffaelliges?
Wenn du sagst die Generationszeit bleibt gering, muss es nen Apache- / Serverproblem sein, also frag denjenigen der dafuer verantwortlich ist.
... ist die Zahl deiner laufenden Apache Prozesse + 1
in der config sollte es ein Setting geben, wie viele Instanzen der Apache mindestens haelt (weiss grad den param nicht).
Hast du mehr aktive User, als aktive Apache Instanzen, muss eben ein neuer Prozess gestartet werden, was immer Zeit/Ressourcen kostet. Allerdings sollte es auch so echt nicht auf 30 Sekunden kommen, ausser es ist was anderes nicht in Ordnung.
Apache Logs nach Serverstart irgendwas auffaelliges?
Wenn du sagst die Generationszeit bleibt gering, muss es nen Apache- / Serverproblem sein, also frag denjenigen der dafuer verantwortlich ist.
gepostet vor 16 Jahre, 8 Monate von poncho
Ist denn die CPU-Last beim Aufruf einer Seite am Anschlag? Ich vermute mal nicht. Wie verhält es sich, wenn du vom Server aus auf die Seite zugreifst?
gepostet vor 16 Jahre, 8 Monate von lauscher
habt ihr sowas wie mod_security am laufen, das die eingehenden / ausgehenden daten scannt?
gepostet vor 16 Jahre, 8 Monate von ThaDafinser
CPU liegt unter 1% auslastung.
Weit werde ich beim auruf der Seite mit der Console nicht kommen, da alles auf Javascript/AJAX basiert.
mod_security oder der gleichen läuft nicht.
Das httpd.conf ist noch "standard" bis auf die vhosts und das Bildercachen
Weit werde ich beim auruf der Seite mit der Console nicht kommen, da alles auf Javascript/AJAX basiert.
mod_security oder der gleichen läuft nicht.
Das httpd.conf ist noch "standard" bis auf die vhosts und das Bildercachen
gepostet vor 16 Jahre, 8 Monate von Nuky
150 Max Connections und 40-50 Leute drin?
Ich glaub da ist der Haken, wenn alles mit Ajax lauft.. schau mal, ob du pro Spieler eh immer nur einen request verschickst..
€:
Darfst ja nicht vergessen dass die Bilder auch einen Request verursachen.. wenn die Warteschlange einmal voll ist, wird sie selten wieder leer.
Ich glaub da ist der Haken, wenn alles mit Ajax lauft.. schau mal, ob du pro Spieler eh immer nur einen request verschickst..
€:
Darfst ja nicht vergessen dass die Bilder auch einen Request verursachen.. wenn die Warteschlange einmal voll ist, wird sie selten wieder leer.
gepostet vor 16 Jahre, 8 Monate von Kallisti
Mit max-connections meint er das Apache Setting, nicht den echten Wert... und der wird bei mehr Requests eigentlich auch nicht groesser, da die Browser Requests an denselben Server queuen und nicht parallel verarbeiten (ausser z.B. mit Firefox Extensions oder verschiedenen DNS namen).
Wirklich relevant ist halt ob ueberhaupt noch ein aktiver Apache Prozess frei ist.
Wie ist das Connection timeout konfiguriert im Apache? Wenn der Apache beispielsweise eine Connection 15 Sekunden lang haelt, aber du alle 16-20 Sekunden einen Zugriff hast, ist das extrem unguenstig
httpd.apache.org/docs/2.0/mod/core.html
Syntax: KeepAliveTimeout Sekunden
Voreinstellung: KeepAliveTimeout 15
Allerdings sollte in dem Fall die CPU Last auch ansteigen, wobei es natuerlich mehr ne RAM Sache ist.
Kann mir schon vorstellen, dass die Ajax Geschichte wirklich das Problem ist. Wenn ihr per default Inhalte nachladet, denkt darueber nach das nur alle x Minuten statt alle y Sekunden zu tun.
Wirklich relevant ist halt ob ueberhaupt noch ein aktiver Apache Prozess frei ist.
Wie ist das Connection timeout konfiguriert im Apache? Wenn der Apache beispielsweise eine Connection 15 Sekunden lang haelt, aber du alle 16-20 Sekunden einen Zugriff hast, ist das extrem unguenstig
httpd.apache.org/docs/2.0/mod/core.html
Beschreibung: Zeitspanne, die der Server während persistenter Verbindungen auf nachfolgende Anfragen wartet
Syntax: KeepAliveTimeout Sekunden
Voreinstellung: KeepAliveTimeout 15
Allerdings sollte in dem Fall die CPU Last auch ansteigen, wobei es natuerlich mehr ne RAM Sache ist.
Kann mir schon vorstellen, dass die Ajax Geschichte wirklich das Problem ist. Wenn ihr per default Inhalte nachladet, denkt darueber nach das nur alle x Minuten statt alle y Sekunden zu tun.
gepostet vor 16 Jahre, 8 Monate von ThaDafinser
gepostet vor 16 Jahre, 8 Monate von Kallisti
Wenn die Liste nicht weitergeht, jo.
500s timeout ist natuerlich krass viel, das kann ebenfalls Grund fuer die Probleme sein. ^^ Der Default ist ja nicht ohne Grund bei 15s. - bei 500s stoesst du recht leicht ans Limit.
In dem Fall macht es zum Ueberwachen natuerlich mehr Sinn nach httpd zu greppen.
Wenn du gerade echt nur 6 Verbindungen hast bei 500s Timeout Einstellung, waere wirklich wenig los. Hast du gerade denn auch diese 30s Probleme?
Wenn nein, poste mal den ps aux output, wenn die Probleme gerade auftreten.
500s timeout ist natuerlich krass viel, das kann ebenfalls Grund fuer die Probleme sein. ^^ Der Default ist ja nicht ohne Grund bei 15s. - bei 500s stoesst du recht leicht ans Limit.
In dem Fall macht es zum Ueberwachen natuerlich mehr Sinn nach httpd zu greppen.
Wenn du gerade echt nur 6 Verbindungen hast bei 500s Timeout Einstellung, waere wirklich wenig los. Hast du gerade denn auch diese 30s Probleme?
Wenn nein, poste mal den ps aux output, wenn die Probleme gerade auftreten.
gepostet vor 16 Jahre, 8 Monate von ThaDafinser
Nene, da morgen ein restart ist warten viele auf morgen
ich probier jetzt mal die 300s auf 30s zu reduzieren.
Ich such mal wo die Einstellung der Standardmäßigen Prozesse ist....
ich probier jetzt mal die 300s auf 30s zu reduzieren.
Ich such mal wo die Einstellung der Standardmäßigen Prozesse ist....
gepostet vor 16 Jahre, 8 Monate von ThaDafinser
Also:
httpd.apache.org/docs/2.0/de/mod/prefork.html
D.h:
Müsste ich diese 2 Werte erhöhen:
StartServers, MinSpareServers
httpd.apache.org/docs/2.0/de/mod/prefork.html
D.h:
Müsste ich diese 2 Werte erhöhen:
StartServers, MinSpareServers
gepostet vor 16 Jahre, 8 Monate von Kallisti
Kann sein, dass es was damit zu tun hat, jo. Musst einfach mal sehen ob es was bringt, aber wenn es wirklich um 30 sekuendige Verzoegerungen ohne CPU Load geht, kann das eigentlich nur irgendwie warten auf I/O sein und ich wuerd die Logs durchwuehlen.
Also entweder CPU Auslastung, maximale Prozesszahl erreicht oder Fehlermeldungen musst du finden, wenn das Problem auftritt.
Also entweder CPU Auslastung, maximale Prozesszahl erreicht oder Fehlermeldungen musst du finden, wenn das Problem auftritt.
gepostet vor 16 Jahre, 8 Monate von Kapsonfire
achja ich hatte auch megalags bei nen v-server und apache pre-fork bei 1und1....
als ich dann apache worker druff hatte hatte nichts mehr gelaggt
als ich dann apache worker druff hatte hatte nichts mehr gelaggt
gepostet vor 16 Jahre, 8 Monate von Kallisti
Apache worker laeuft nicht mit mod_php, da php bzw. die meisten Extensions nicht threadsafe sind.
Mit nem fastcgi setup hast du verglichen mit mod_php aber wieder Performance Einbusse, dafuer immerhin besseres Rechtemanagement und mehr Spass mit Safemode.
Mit nem fastcgi setup hast du verglichen mit mod_php aber wieder Performance Einbusse, dafuer immerhin besseres Rechtemanagement und mehr Spass mit Safemode.
gepostet vor 16 Jahre, 8 Monate von Kapsonfire
dann apache handler...
gepostet vor 16 Jahre, 8 Monate von Klaus
Original von Kallisti
Mit nem fastcgi setup hast du verglichen mit mod_php aber wieder Performance Einbusse, dafuer immerhin besseres Rechtemanagement und mehr Spass mit Safemode.
Woher hast du denn dieses Gerücht?
gepostet vor 16 Jahre, 8 Monate von Kallisti
Das ist kein Geruecht sondern eher Common Sense.
Mehr Security mit fastcgi is klar, da suexec -> Prozesse laufen mit angepassten Rechten.
Bei mod_php hast du quasi einen php Interpreter in jeder Apache Instanz. Natuerlich ist das schneller, als ueber cgi extern etwas aufzurufen.
Dafuer skaliert fastcgi besser, weil der Overhead an Ram und Prozesserzeugungszeit natuerlich mit steigender Prozesszahl zunimmt.
In dem Beispiel oben duerfte allerdings mod_php generell performanter sein.
Zudem laesst sich fastcgi wohl besser clustern.
Mehr Security mit fastcgi is klar, da suexec -> Prozesse laufen mit angepassten Rechten.
Bei mod_php hast du quasi einen php Interpreter in jeder Apache Instanz. Natuerlich ist das schneller, als ueber cgi extern etwas aufzurufen.
Dafuer skaliert fastcgi besser, weil der Overhead an Ram und Prozesserzeugungszeit natuerlich mit steigender Prozesszahl zunimmt.
In dem Beispiel oben duerfte allerdings mod_php generell performanter sein.
Zudem laesst sich fastcgi wohl besser clustern.
gepostet vor 16 Jahre, 8 Monate von Klaus
Es kommen noch die tollen Prozesswechsel des klassischen Apache dazu. Aber im Grunde genommen hast du recht und mod_php ist schneller da der Interpreter bereit liegt. Toll wäre es wenn das PHP-Bundle endlich thread sicher wäre, wie es andere Skriptsprachen auch schon schaffen. Dann läuft ein Request immer in einem Prozess durch.
gepostet vor 16 Jahre, 7 Monate von ThaDafinser
MinSpareSevers, MaxSpareServers, startServer und noch 2 haben es geschafft.
Vielen Dank für die Hilfe!
Wollte schon früher zurückschreiben, aber hab den Thread vergessen
Vielen Dank für die Hilfe!
Wollte schon früher zurückschreiben, aber hab den Thread vergessen