Webserver-Tuning

Apache, Lighttpd, nginx, Cherokee
Post Reply
vevelt
Posts: 122
Joined: 2003-08-01 12:18
Location: Itzehoe
Contact:
 

Webserver-Tuning

Post by vevelt »

Tja, irgendwie fehlt eine Kategorie, in die Beiträge gepostet werden können, die viele Themenbereiche berühren... :-)

Nun ja, ich habe meinen Root-Server nun schon einige Monate und bin jeweils bemüht, die notwendigen Updates (kein Updatewahn!) zu installieren und die laufenden Dienste möglichst an meine Bedürfnisse anzupassen. Mittlerweile läuft nach dem Grundupdate auf Suse 8.2 (schade, dass ich anfangs nicht auf Debian gewechselt bin) ein Apache 1.3.27 mit MySQL 4.0.17, PHP 4.3.4, Postfix mit AntiVir und Squirrelmail-Webinterface...
Soweit bin ich wirklich glücklich, habe jedoch die letzten Tage versucht, meinen Webserver noch etwas zu tunen, damit dieser noch etwas reaktiver wird und bei vielen Usern, die gleichzeitig zugreifen, nicht merklich in die Knie geht.

Zuerst habe ich mit MySQL angefangen, indem ich den "Query Cache" aktiviert habe und die MaxConnections angepaßt habe:

Code: Select all

set-variable    = query_cache_size=12M
set-variable    = max_connections=200
Dann habe ich mich etwas mit Caching von PHP-Seiten beschäftigt und den TurckMM-Cache installiert und wie folgt eingerichtet:

Code: Select all

; TurckMM Cache
extension="/usr/share/extensions/no-debug-non-zts-20020429/mmcache.so"
mmcache.shm_size="16"
mmcache.cache_dir="/tmp/mmcache"
mmcache.enable="1"
mmcache.optimizer="1"
mmcache.check_mtime="1"
mmcache.debug="0"
mmcache.filter=""
mmcache.shm_max="0"
mmcache.shm_ttl="900"
mmcache.shm_prune_period="60"
mmcache.shm_only="0"
mmcache.compress="1"
Das bedeutet, dass 16MB compilierte PHP-Dateien gecacht werden und, falls der Cache voll sein sollte, die Einträge älter 15min rausgeworfen werden, um so Platz für die neuen zu cachenden Skripte zu schaffen. So sollten hauptsächlich immer die gebräuchlichsten Skripte auch im Cache liegen... :-)

Soweit meine Tuning-Maßnahmen, die, wie ich finde, schon sehr merklich positiv auf die Performance des Webservers im Zusammenspiel mit der Datenbank wirken.

Ich hatte schon einmal überlegt und probiert, mod_gzip in den Apache einzubinden, um (wenn der Browser es unterstützt), gepackt übertragen zu können, aber so begeistert bin ich davon nicht gewesen. Was habt ihr da für Erfahrungen? Wie habt ihr jenes eingerichtet?

Welche Tuning-Maßnahmen gibt es noch?

Danke & Gruß, Sebastian.
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: Webserver-Tuning

Post by oxygen »

Erstmal zu deinen jetztigen Einstellungen, du hast den Query Cache und Turck Cache recht groß bemessen, bei nur 256 MB Ram wäre ich da nicht so großzügig ran gegangen, bei 512 und mehr ist das natürlich komplett Okay.
Andere Typische Bereiche an denen man drehen kann:

DMA-Modus

Apache Einstellungen, wie MaxClients, SpareServers etc.
Im übrigen solltest du auf Apache2 wenn du wirklich was verbessern willst. Das dort integrierte mod_deflate ist mod_gzip auch weit überlegen.

Hinzufügen von Schlüsseln in die MySQL Tabellen, besonders bei eigenen Scripts denkt man da oft nicht dran
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Webserver-Tuning

Post by Joe User »

PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
vevelt
Posts: 122
Joined: 2003-08-01 12:18
Location: Itzehoe
Contact:
 

Danke...

Post by vevelt »

...für die Tips.
DMA-Modus für die Festplatte ist schon aktiv :-)
Noch scheue ich mich ein wenig vor Apache2. Gibt es hierzu ein Turorial, welches berücksichtigt, dass Confixx schon installiert ist und nachher wieder laufen soll?

Lieben Gruß, Sebastian.
Post Reply