michael_2001
New Member
Hi,
falls diese Frage im falschen Forum gelandet ist, bitte einfach verschieben. Da der Thread jedoch mehrere Themengebiete abdeckt, ist eine Einstufung für mich nicht so einfach
Zuerst eine kurze Erläuterung der Situation:
Ich betreibe ein etwas größeres phpBB3 auf einem dedizierten Linux-Server (AMD Opteron QuadCore 2,1ghz, 8GB RAM, ...) unter Plesk in einem eigenen Useraccount. Daneben gibt es noch zwei weitere Accounts auf denen u.a. ein Joomla, ein kleines private Burning Board Light und zwei Coppermine-Galerien laufen.
Das phpBB3 hat um die 5000 Benutzer, knapp eine halbe Million Posts und um die 10000 Threads. Durchschnittliche Besucherzahl so um die 100 bis 150, in Spitzenzeiten 400+, zzgl. ein paar hundert auf Joomla.
Das spezielle an diesem Board ist, dass es sich um ein Sportforum handelt. Das heißt an Spieltagen während eines Spiel versammeln sich ein paar hundert Nutzer im Forum, ein Teil schaut die Spiele im TV oder verfolgt sie im Radio und geben Kommentare dazu ab, ein anderer Teil lädt ständig nach um die Live-Threads als Ticker zu missbrauchen.
Fällt ein Tor oder passiert sonst etwas aufregendes kann es durchaus sein, dass mal zwei Dutzend Leute gleichzeitig auf Posten klicken und Freude oder Ärger ausdrücken wollen (während die anderen paar hundert wie Irre nachladen, was denn passiert sei ).
Das heißt die Belastung ist sehr punktuell, ich denke, ihr versteht worauf ich hinaus will.
Jetzt möchte ich gern die allgemeine Umgebung so anpassen, dass der Server während dieser Zeiten stabil und ausreichend schnell bleibt. An besonders schlimmen Tagen hat mir der Watchdog auch schon mal mitgeteilt, dass sich der Apache abgeschossen hatte und erst ein paar Minuten später wieder gestartet wurde.
Die Hardware dürfte ja mehr als ausreichend dafür sein, während der Spiele befindet sich eigentlich niemand außerhalb des Forums und treibt bei anderen Projekten sein Unwesen.
Habe bereits versucht, die MySQL-Konfiguration anzupassen und für diese Anforderungen fit zu machen. Aktuell rennt das Board auch wie geschmiert, d.h. ein Klick auf einen Thread und die Seite ist sofort mit dem nächsten Wimpernschlag da. Bei Apache und PHP5 würde ich mich jedoch über weitere Tipps freuen.
Hier mal meine MySQL-Einstellungen:
Apache server-tuning.conf:
(da weiß ich wirklich nicht, was hier sinnvoll wäre, bzw. wie sich Änderungen auswirken)
php5 resourcen-Limits:
(habe das Memory-Limit mal herunter geschraubt.
Aktuelle Speicherauslastung sieht so aus (ca. 150 User online):
Was kann/sollte man verbessern? Oder bin ich vollkommen auf dem Holzweg?
Vielen Dank für jeglichen Kommentar!
falls diese Frage im falschen Forum gelandet ist, bitte einfach verschieben. Da der Thread jedoch mehrere Themengebiete abdeckt, ist eine Einstufung für mich nicht so einfach
Zuerst eine kurze Erläuterung der Situation:
Ich betreibe ein etwas größeres phpBB3 auf einem dedizierten Linux-Server (AMD Opteron QuadCore 2,1ghz, 8GB RAM, ...) unter Plesk in einem eigenen Useraccount. Daneben gibt es noch zwei weitere Accounts auf denen u.a. ein Joomla, ein kleines private Burning Board Light und zwei Coppermine-Galerien laufen.
Das phpBB3 hat um die 5000 Benutzer, knapp eine halbe Million Posts und um die 10000 Threads. Durchschnittliche Besucherzahl so um die 100 bis 150, in Spitzenzeiten 400+, zzgl. ein paar hundert auf Joomla.
Das spezielle an diesem Board ist, dass es sich um ein Sportforum handelt. Das heißt an Spieltagen während eines Spiel versammeln sich ein paar hundert Nutzer im Forum, ein Teil schaut die Spiele im TV oder verfolgt sie im Radio und geben Kommentare dazu ab, ein anderer Teil lädt ständig nach um die Live-Threads als Ticker zu missbrauchen.
Fällt ein Tor oder passiert sonst etwas aufregendes kann es durchaus sein, dass mal zwei Dutzend Leute gleichzeitig auf Posten klicken und Freude oder Ärger ausdrücken wollen (während die anderen paar hundert wie Irre nachladen, was denn passiert sei ).
Das heißt die Belastung ist sehr punktuell, ich denke, ihr versteht worauf ich hinaus will.
Jetzt möchte ich gern die allgemeine Umgebung so anpassen, dass der Server während dieser Zeiten stabil und ausreichend schnell bleibt. An besonders schlimmen Tagen hat mir der Watchdog auch schon mal mitgeteilt, dass sich der Apache abgeschossen hatte und erst ein paar Minuten später wieder gestartet wurde.
Die Hardware dürfte ja mehr als ausreichend dafür sein, während der Spiele befindet sich eigentlich niemand außerhalb des Forums und treibt bei anderen Projekten sein Unwesen.
Habe bereits versucht, die MySQL-Konfiguration anzupassen und für diese Anforderungen fit zu machen. Aktuell rennt das Board auch wie geschmiert, d.h. ein Klick auf einen Thread und die Seite ist sofort mit dem nächsten Wimpernschlag da. Bei Apache und PHP5 würde ich mich jedoch über weitere Tipps freuen.
Hier mal meine MySQL-Einstellungen:
Code:
[mysqld]
set-variable=local-infile=0
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 32M
max_allowed_packet = 16M
max_connections = 400
table_cache = 700
thread_cache_size = 1024
sort_buffer_size = 1M
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
query_cache_size = 32M
myisam_sort_buffer_size = 128M
[mysqldump]
quick
max_allowed_packet = 16M
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 64M
sort_buffer_size = 64M
read_buffer = 16M
write_buffer = 16M
Apache server-tuning.conf:
(da weiß ich wirklich nicht, was hier sinnvoll wäre, bzw. wie sich Änderungen auswirken)
Code:
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 150
MaxClients 150
MaxRequestsPerChild 10000
</IfModule>
php5 resourcen-Limits:
Code:
max_execution_time = 30 ;
max_input_time = 60 ;
memory_limit = 32M ;
Aktuelle Speicherauslastung sieht so aus (ca. 150 User online):
Code:
total used free shared buffers cached
Mem: 7973 4721 3252 0 36 3888
-/+ buffers/cache: 796 7177
Swap: 1913 0 1913
Was kann/sollte man verbessern? Oder bin ich vollkommen auf dem Holzweg?
Vielen Dank für jeglichen Kommentar!