Guten Abend,
ich bitte den Threadtitel zu entschuldigen - wollte nicht für jede Frage in einem anderen Unterforum einen neuen Thread aufmachen.
1. Kann ich fopen() irgendwie in seiner Funktion pro vHost begrenzen? Mein Problem ist, dass ich z.B. automatisierte Portscans vermeiden will, ohne fopen() komplett abzuschalten. Wie kann man das regeln, wie regeln das große Webhoster?
2. Auf meinem vServer läuft proftpd. Nun habe ich neulich nicht mit Filezilla, sondern mit Nautilus (Dateimanager unter Ubuntu) eine FTP-Verbindung hergestellt und anschließend einen Kopiervorgang von ca. 200 Dateien gestartet. Dieser wurde zunächst langsamer und ging dann gar nicht mehr weiter. top zeigte mir diverse laufende proftpds; Filezilla meldete, dass der FTP nicht erreichbar sein. proftpd ließ sich weder per init.d noch mit killall beenden. Nach zehn Minuten (das ist der eingestellte Timeout in der proftpd.conf) ging's wieder.
Als Workaround habe ich die maximal erlaubten Instanzen etwas hochgestellt sowie den Timeout deutlich heruntergeregelt. Das kann aber alles nicht die Lösung sein - ich würde gerne die Instanzen pro IP oder FTP-User beschränken. Möglich? Wie?
3. Inwieweit wirken sich geladene PHP-Module auf die Performance und den RAM-Verbrauch aus?
4. Apache2-Tuning: Ich habe viel über die Direktiven gelesen, dennoch verstehe ich manche Dinge nicht so recht. Ich vermute einfach mal, dass ich den worker MPM verwende (ist doch geläufiger, oder?) und dass daher nur der Kram zwischen <IfModule mpm_worker_module> und dem dementsprechenden </IfModule> dafür relevant ist, richtig? Dort habe ich folgende Einträge:
StartServers: Verstehe ich. Anzahl an Apache2-Prozessen unmittelbar nach dem Starten.
MaxClients: Maximale Anzahl an gleichzeitigen Verbindungen / Anfragen (wo ist der Unterschied? - richtig?
MinSpareThreads: "minimum number of worker threads which are kept spare" - Leerlaufende Threads. Aber was sind nun Prozesse und was Threads?
Und woran sollte man sich beim Einstellen dieser Direktive orientieren?
MaxSpareThreads: Same here.
ThreadsPerChild: Eine konstante Nummer an Threads pro Prozess, okay. Aber: Wie kriegt der Apache eine konstante Anzahl hin, wenn z.B. die Min/MaxSpareThreads deutlich unter den ThreadsPerChild liegen? Zudem: Inwiefern macht hier ein hoher oder niedriger Wert Sinn; wie wirkt sich das aus?
MaxRequestsPerChild: Maximale Anzahl an Anfragen, die ein Prozess verarbeitet, bevor er stirbt - wo liegen hier Vor- und Nachteile bei hohen / niedrigen Werten?
5. Mein vServer hat 2048 MB RAM. Diese sind auch ständig voll, top => "cached" sagt mir aber, dass ein absoluter Großteil gar nicht "wirklich" gebraucht wird, sondern eben als Cache verwendet wird. Zu diesem Sachverhalt folgende Fragen:
- Kann ich das Cache-Verhalten von Linux beeinflussen?
- Warum liegt so viel im Cache? Das ist ein reiner Webserver mit FTP, PHP und MySQL...
- Was wird gecached?
- Kriegt Linux auch z.B. 16 GB RAM schnell "vollgecached" und meine Sorge ist völlig unberechtigt? Sprich, zählt der benutzte RAM abzüglich des Caches deutlich mehr oder sollte man auch mit Cache den RAM nicht vollkriegen? Mein Notebook zu Hause kriegt seine 4 GB RAM defintiv nie voll, cached aber auch viel.
Ich danke im Voraus für jegliche Antwort auf diesen doch recht lang gewordenen Thread!
greez
ich bitte den Threadtitel zu entschuldigen - wollte nicht für jede Frage in einem anderen Unterforum einen neuen Thread aufmachen.
1. Kann ich fopen() irgendwie in seiner Funktion pro vHost begrenzen? Mein Problem ist, dass ich z.B. automatisierte Portscans vermeiden will, ohne fopen() komplett abzuschalten. Wie kann man das regeln, wie regeln das große Webhoster?
2. Auf meinem vServer läuft proftpd. Nun habe ich neulich nicht mit Filezilla, sondern mit Nautilus (Dateimanager unter Ubuntu) eine FTP-Verbindung hergestellt und anschließend einen Kopiervorgang von ca. 200 Dateien gestartet. Dieser wurde zunächst langsamer und ging dann gar nicht mehr weiter. top zeigte mir diverse laufende proftpds; Filezilla meldete, dass der FTP nicht erreichbar sein. proftpd ließ sich weder per init.d noch mit killall beenden. Nach zehn Minuten (das ist der eingestellte Timeout in der proftpd.conf) ging's wieder.
Als Workaround habe ich die maximal erlaubten Instanzen etwas hochgestellt sowie den Timeout deutlich heruntergeregelt. Das kann aber alles nicht die Lösung sein - ich würde gerne die Instanzen pro IP oder FTP-User beschränken. Möglich? Wie?
3. Inwieweit wirken sich geladene PHP-Module auf die Performance und den RAM-Verbrauch aus?
4. Apache2-Tuning: Ich habe viel über die Direktiven gelesen, dennoch verstehe ich manche Dinge nicht so recht. Ich vermute einfach mal, dass ich den worker MPM verwende (ist doch geläufiger, oder?) und dass daher nur der Kram zwischen <IfModule mpm_worker_module> und dem dementsprechenden </IfModule> dafür relevant ist, richtig? Dort habe ich folgende Einträge:
StartServers: Verstehe ich. Anzahl an Apache2-Prozessen unmittelbar nach dem Starten.
MaxClients: Maximale Anzahl an gleichzeitigen Verbindungen / Anfragen (wo ist der Unterschied? - richtig?
MinSpareThreads: "minimum number of worker threads which are kept spare" - Leerlaufende Threads. Aber was sind nun Prozesse und was Threads?
Und woran sollte man sich beim Einstellen dieser Direktive orientieren?
MaxSpareThreads: Same here.
ThreadsPerChild: Eine konstante Nummer an Threads pro Prozess, okay. Aber: Wie kriegt der Apache eine konstante Anzahl hin, wenn z.B. die Min/MaxSpareThreads deutlich unter den ThreadsPerChild liegen? Zudem: Inwiefern macht hier ein hoher oder niedriger Wert Sinn; wie wirkt sich das aus?
MaxRequestsPerChild: Maximale Anzahl an Anfragen, die ein Prozess verarbeitet, bevor er stirbt - wo liegen hier Vor- und Nachteile bei hohen / niedrigen Werten?
5. Mein vServer hat 2048 MB RAM. Diese sind auch ständig voll, top => "cached" sagt mir aber, dass ein absoluter Großteil gar nicht "wirklich" gebraucht wird, sondern eben als Cache verwendet wird. Zu diesem Sachverhalt folgende Fragen:
- Kann ich das Cache-Verhalten von Linux beeinflussen?
- Warum liegt so viel im Cache? Das ist ein reiner Webserver mit FTP, PHP und MySQL...
- Was wird gecached?
- Kriegt Linux auch z.B. 16 GB RAM schnell "vollgecached" und meine Sorge ist völlig unberechtigt? Sprich, zählt der benutzte RAM abzüglich des Caches deutlich mehr oder sollte man auch mit Cache den RAM nicht vollkriegen? Mein Notebook zu Hause kriegt seine 4 GB RAM defintiv nie voll, cached aber auch viel.
Ich danke im Voraus für jegliche Antwort auf diesen doch recht lang gewordenen Thread!
greez