Hi,
ich habe einen nicht allzu kleinen vServer (1024 MB RAM) mit Debian Etch, auf dem eigentlich nur folgendes läuft
- Apache2 mit PHP5 über mod_fcgid
- MySQL
- Postfix / Dovecot
Der Apache ist im Moment eigentlich nur für 2-3 kleine Seiten (100-200 Besucher / Tag) und mein privates SVN zuständig, der Mailserver hat auch nicht mehr zu verarbeiten, als ein paar hundert Mails am Tag. MySQL hat auch nicht allzuviel zu tun: Datenbank für ein Wordpress, Virtuelle Maildomains & Adressen für Postfix&Dovecot und ein paar kleine Projekte, auf die aber nur sporadisch und wenn dann so gut wie eh nur von mir zugegriffen wird.
Trotzdem habe ich teilweise erhebliche Probleme, v.A. mit dem Webserver. Zu bestimmten Zeiten, beispielsweise jetzt, schiesst die Load Avg. auf teilweise über 10, was den Server so gut nicht mehr ansprechbar macht. SSH-Login dauert teilweise Minuten, beim Aufruf einer PHP-Seite quittiert der Server nach teilweise minutenlangem Laden mit Internal Server Error (premature end of script headers):
Meine Frage: bezieht sich die Load Average auf den vServer, oder auf das Hostsystem, auf dem der vServer läuft? Also, ist die Geschichte meine Schuld und ich habe was an der Konfiguration verbockt oder die des Providers, der meinen vServer auf einem überlasteten Host laufen lässt? Ich kann zumindest über top keine Prozesse finden, die jetz besonders viel Last verursachen würden (siehe Screenshot).
Falls das von Bedeutung sein sollte: Kernel ist 2.6.18-ovz-028stab053.5-enterprise (also OpenVZ denke ich?).
Hier ein Screenshot von top nach so einer Lastspitze (Load war > 12):
http://img229.imageshack.us/my.php?image=topscreenwp3.jpg
MOD: Bilder bitte immer als Anhang.
Noch eine andere Frage: auch wenn die Last auf dem Server recht gering ist, benötigen Requests von PHP Seiten teilweise ziemlich lange, bis diese überhaupt reagieren (teilweise sekundenlang "Warte auf..." in Firefox).
Meine Apache-Config
Ein vHost
Mein php-fcgi Starterscript dazu:
Aktivierte Apache Module
Die Apache2-Config sind eigentlich die Defaultwerte von Debian. Wenn ich mir andere Anfragen zu vServern so ansehe, sind diese doch ziemlich hoch, oder (z.B. MaxClients 150)?
Ich experimentiere jetzt eigentlich schon ziemlich lang an der Konfiguration herum, habe es aber nie so hinbekommen, dass der Webserver richtig schön schnell reagiert (zumindest für dynamische Seiten, für statische ist es kein Problem, wenn nicht gerade die Load Avg. wieder hoch ist). Ich würd den Server eigentlich gerne als Entwicklungsserver für diverse Webprojekte verwenden, aber es ist teilweise wirklich nicht möglich, darauf vernünftig zu arbeiten, ohne jede Menge Zeit durch die langen Antwortzeiten und die Internal Server Errors zu bekommen. Vielleicht hat ja jemand eine Idee, an was es liegen könnte.
Vielen Dank fürs drüberschauen,
lotrac
ich habe einen nicht allzu kleinen vServer (1024 MB RAM) mit Debian Etch, auf dem eigentlich nur folgendes läuft
- Apache2 mit PHP5 über mod_fcgid
- MySQL
- Postfix / Dovecot
Der Apache ist im Moment eigentlich nur für 2-3 kleine Seiten (100-200 Besucher / Tag) und mein privates SVN zuständig, der Mailserver hat auch nicht mehr zu verarbeiten, als ein paar hundert Mails am Tag. MySQL hat auch nicht allzuviel zu tun: Datenbank für ein Wordpress, Virtuelle Maildomains & Adressen für Postfix&Dovecot und ein paar kleine Projekte, auf die aber nur sporadisch und wenn dann so gut wie eh nur von mir zugegriffen wird.
Trotzdem habe ich teilweise erhebliche Probleme, v.A. mit dem Webserver. Zu bestimmten Zeiten, beispielsweise jetzt, schiesst die Load Avg. auf teilweise über 10, was den Server so gut nicht mehr ansprechbar macht. SSH-Login dauert teilweise Minuten, beim Aufruf einer PHP-Seite quittiert der Server nach teilweise minutenlangem Laden mit Internal Server Error (premature end of script headers):
Code:
[Mon Jul 07 18:05:42 2008] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: index.php
[Mon Jul 07 18:06:10 2008] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: index.php
Meine Frage: bezieht sich die Load Average auf den vServer, oder auf das Hostsystem, auf dem der vServer läuft? Also, ist die Geschichte meine Schuld und ich habe was an der Konfiguration verbockt oder die des Providers, der meinen vServer auf einem überlasteten Host laufen lässt? Ich kann zumindest über top keine Prozesse finden, die jetz besonders viel Last verursachen würden (siehe Screenshot).
Falls das von Bedeutung sein sollte: Kernel ist 2.6.18-ovz-028stab053.5-enterprise (also OpenVZ denke ich?).
Hier ein Screenshot von top nach so einer Lastspitze (Load war > 12):
http://img229.imageshack.us/my.php?image=topscreenwp3.jpg
MOD: Bilder bitte immer als Anhang.
Noch eine andere Frage: auch wenn die Last auf dem Server recht gering ist, benötigen Requests von PHP Seiten teilweise ziemlich lange, bis diese überhaupt reagieren (teilweise sekundenlang "Warte auf..." in Firefox).
Meine Apache-Config
Code:
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
Ein vHost
Code:
<VirtualHost *:80>
ServerName example.com
SuexecUserGroup user user
AddHandler fcgid-script .php
DocumentRoot "/var/www/vh/user/example.com/web/"
<Directory "/var/www/vh/user/example.com/web/">
FCGIWrapper /var/www/fastcgi/user/php-fcgi/php-fcgi-starter .php
Options ExecCGI FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/www/vh/user/example.com/logs/error.log
CustomLog /var/www/vh/user/example.com/logs/access.log combined
LogLevel error
</VirtualHost>
Mein php-fcgi Starterscript dazu:
Code:
#!/bin/sh
PHPRC="/var/www/fastcgi/username/conf/"
export PHPRC
PHP_FCGI_MAX_REQUESTS=500
export PHP_FCGI_MAX_REQUESTS
exec /usr/bin/php5-cgi
Aktivierte Apache Module
Code:
actions
alias
auth_basic
auth_digest
authn_file
authz_default
authz_host
authz_user
autoindex
cgid
dav
dav_fs
dav_svn
dir
env
fcgid
include
mime
mod_python
rewrite
setenvif
ssl
status
suexec
Die Apache2-Config sind eigentlich die Defaultwerte von Debian. Wenn ich mir andere Anfragen zu vServern so ansehe, sind diese doch ziemlich hoch, oder (z.B. MaxClients 150)?
Ich experimentiere jetzt eigentlich schon ziemlich lang an der Konfiguration herum, habe es aber nie so hinbekommen, dass der Webserver richtig schön schnell reagiert (zumindest für dynamische Seiten, für statische ist es kein Problem, wenn nicht gerade die Load Avg. wieder hoch ist). Ich würd den Server eigentlich gerne als Entwicklungsserver für diverse Webprojekte verwenden, aber es ist teilweise wirklich nicht möglich, darauf vernünftig zu arbeiten, ohne jede Menge Zeit durch die langen Antwortzeiten und die Internal Server Errors zu bekommen. Vielleicht hat ja jemand eine Idee, an was es liegen könnte.
Vielen Dank fürs drüberschauen,
lotrac
Attachments
Last edited by a moderator: