Wenn ein Board eine gewisse Größe erreicht hat, wird man früher oder später einen eigenen Server dafür einsetzen müssen. Idealerweise sollte man einen Dedicated Server (auch Rootserver genannt) einem Managed Server vorziehen (sofern das nötige Fachwissen vorhanden ist), da der Rootserver für den speziellen Einsatzzweck optimiert werden kann.
Ein optimierter Server wird enorme Performance-Vorteile gegenüber einer Standard-Konfiguration aufbringen. Auch hinsichtlich der Sicherheit gibt es sicherlich viele Vorteile, einen speziell angepassten Server einzusetzen (z.B. gegenüber einen Multi-Hosting-Server oder gar ein Webhosting Paket).
Hier eine Beispielkonfiguration eines Servers mit folgender Hardware:
- 1 CPU
- 2 GB Hauptspeicher
- 2 Festplatten als Raid (Hardware-Raid sollte bevorzugt eingesetzt werden)
Da die Serveroptimierung für vBulletin durchgeführt werden soll, sollte folgende Software zum Einsatz kommen:
- Kernel 2.6 oder neuer
- MySQL 5.0.x
- Apache 2.x
- PHP 5.1.x
- bei besonders großen Boards empfiehlt sich der Einsatz eines PHP Caches, wie eAccelerator oder APC
Zum Einsatz sollte mod_php und NICHT php-cgi kommen! Der Performance-Unterschied ist enorm. Da diese Optimierung für ein vBulletin-Board auf eine speziell dafür vorgesehenen Rootserver gedacht ist, gibt es auch keine Sicherheitsschwachstellen (wie es beispielsweise bei einem Multi-Hosting-Server der Fall wäre). Achte außerdem darauf, dass das PHP Modul mysqli installiert und geladen wird.
PHP (php.ini)
expose_php = Off
register_globals = Off
register_long_arrays = Off
register_argc_argv = Off
magic_quotes_gpc = Off
enable_dl = Off
mysqli.reconnect = On
vBulletin (config.ini)
dbtype = mysqli
usepconnect = 1
MySQL (my.cnf)
[mysqld]
max_connections = 600
long_query_time = 2
ft_min_word_len=3
log-long-format
log-slow-queries = /var/log/mysql_slow_query.log
key_buffer = 256M
max_allowed_packet = 4M
table_cache = 1024
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 10M
record_buffer = 12M
myisam_sort_buffer_size = 64M
thread_cache = 16
query_cache_size = 32M
query_cache_limit = 1M
thread_concurrency = 4
max_connections = 1500
wait_timeout = 90
connect_timeout = 60
skip-networking
[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
Apache (httpd.conf)
UseCanonicalName off
HostNameLookups off
Die Konfigurationsparameter müssen in die jeweilige Konfigurationsdatei abgeändert oder eingefügt werden. Eine Garantie oder Haftung übernehme ich nicht! Die Einstellung ist für die oben aufgeführte Hardware gedacht (vor allem die DB Konfiguration). Diese Einstellungen können bei andere Hardwareparameter unter Umständen zu Performance-Verschlechterungen führen.