Ein vServer bietet begrenzte Ressourcen, daher ist eine optimale Konfiguration besonders wichtig. Mit den richtigen Einstellungen holen Sie deutlich mehr Leistung aus Ihrem Server heraus, ohne zusätzliche Kosten für ein Upgrade. Dieser Leitfaden zeigt Ihnen die wichtigsten Optimierungen.
Betriebssystem optimieren
Die Optimierung beginnt beim Betriebssystem. Es gibt zahlreiche Einstellungen, die die Systemleistung verbessern können.
Swap konfigurieren
Swap-Speicher kann bei RAM-Engpässen helfen, sollte aber nicht überstrapaziert werden. Auf einem vServer mit SSD-Speicher ist ein kleiner Swap von 1-2 GB sinnvoll als Sicherheitsnetz. Setzen Sie den Swappiness-Wert niedrig (10-20), damit der Kernel bevorzugt RAM nutzt und nur im Notfall auf Swap zurückgreift.
Unnötige Dienste deaktivieren
Jeder laufende Dienst verbraucht RAM und CPU-Zyklen. Deaktivieren Sie alle Dienste, die Sie nicht benötigen. Auf einem vServer zählt jedes Megabyte RAM. Prüfen Sie regelmäßig, welche Dienste laufen und ob alle wirklich benötigt werden.
Webserver-Konfiguration
Nginx statt Apache
Wenn Performance Priorität hat, ziehen Sie Nginx in Betracht. Nginx verbraucht deutlich weniger RAM als Apache und kann mehr gleichzeitige Verbindungen bedienen. Auf einem vServer mit begrenztem RAM kann dieser Unterschied spürbar sein.
| Einstellung | Apache | Nginx |
|---|---|---|
| RAM pro Prozess/Worker | 10-40 MB | 2-10 MB |
| Gleichzeitige Verbindungen | Prozess-basiert | Event-basiert (tausende) |
| Statische Dateien | Gut | Exzellent |
| PHP-Anbindung | mod_php (einfach) | PHP-FPM (effizienter) |
Worker und Verbindungen tunen
Passen Sie die Anzahl der Worker-Prozesse an Ihre verfügbaren CPU-Kerne an. Bei Nginx entspricht die optimale Worker-Anzahl in der Regel der Anzahl der CPU-Kerne. Die maximale Anzahl an Verbindungen pro Worker kann höher gesetzt werden.
PHP optimieren
Detaillierte PHP-Optimierungstipps finden Sie in unserem Artikel zur PHP-Performance-Optimierung. Hier die wichtigsten Punkte für vServer:
- PHP-FPM verwenden: PHP-FPM ist effizienter als mod_php, besonders auf ressourcenbeschränkten Systemen
- OPcache aktivieren: Spart erheblich CPU-Zyklen durch Zwischenspeicherung kompilierter PHP-Skripte
- Memory Limit anpassen: Setzen Sie ein angemessenes Limit, das weder zu großzügig noch zu restriktiv ist
- Max Children tunen: Die Anzahl der PHP-FPM-Prozesse sollte zum verfügbaren RAM passen
- Neuste PHP-Version: PHP 8.x ist deutlich schneller als ältere Versionen
PHP-FPM Worker berechnen
Eine Faustregel für die Berechnung der maximalen PHP-FPM-Worker:
Max Children = (Verfügbarer RAM - RAM für System und andere Dienste) / RAM pro PHP-Prozess
| Server-RAM | Verfügbar für PHP | RAM/Prozess | Max Children |
|---|---|---|---|
| 2 GB | ~1 GB | 40 MB | ~25 |
| 4 GB | ~2,5 GB | 40 MB | ~60 |
| 8 GB | ~5,5 GB | 40 MB | ~135 |
| 16 GB | ~12 GB | 40 MB | ~300 |
Datenbank-Optimierung
Die Datenbank ist oft der Flaschenhals. Auf einem vServer ist die richtige Konfiguration besonders wichtig.
- InnoDB Buffer Pool: Sollte 60-70% des verfügbaren RAM ausmachen
- Query Cache: Bei MariaDB/MySQL 5.7 kann der Query Cache bei Lesezugriffen helfen, bei MySQL 8.0 wurde er entfernt
- Slow Query Log: Aktivieren Sie das Slow Query Log, um langsame Abfragen zu identifizieren
- Regelmäßige Optimierung: Tabellen regelmäßig optimieren und fragmentierten Speicher freigeben
Caching-Strategien für vServer
Caching ist der effektivste Weg, die Leistung zu steigern:
- OPcache: PHP-Bytecode-Cache (standardmäßig aktivieren)
- Redis/Memcached: In-Memory-Cache für Datenbankabfragen und Sessions
- Seiten-Cache: Fertige HTML-Seiten zwischenspeichern
- Browser-Cache: Statische Dateien clientseitig cachen
- CDN: Statische Inhalte über ein CDN ausliefern
Netzwerk-Optimierung
Kleine Anpassungen an den Netzwerkeinstellungen können die Verbindungsqualität verbessern. TCP-Tuning, Keep-Alive-Einstellungen und die Aktivierung von HTTP/2 tragen zu besseren Bandbreiten-Nutzung bei.
Monitoring einrichten
Richten Sie ein leichtgewichtiges Monitoring ein, um die Auswirkungen Ihrer Optimierungen zu messen und Engpässe frühzeitig zu erkennen. Auf einem vServer eignen sich ressourcenschonende Tools besonders gut.
Fazit
Eine durchdachte Konfiguration kann die Leistung Ihres vServers erheblich steigern. Beginnen Sie mit den wichtigsten Optimierungen (OPcache, PHP-FPM, Datenbank-Tuning) und messen Sie die Auswirkungen. Wenn trotz Optimierung die Leistung nicht reicht, ist es Zeit für ein Upgrade oder die Skalierung Ihres vServers. Alternativ kann ein Root-Server die nötige Performance liefern.
Häufig gestellte Fragen
Sollte ich Apache oder Nginx auf meinem vServer verwenden?
Für vServer mit begrenztem RAM ist Nginx die bessere Wahl, da es deutlich weniger Arbeitsspeicher pro Verbindung verbraucht. Nginx kann tausende gleichzeitige Verbindungen effizient bedienen. Apache ist einfacher zu konfigurieren, verbraucht aber mehr Ressourcen pro Prozess.
Wie viel RAM sollte ich für die Datenbank reservieren?
Der InnoDB Buffer Pool sollte etwa 60 bis 70 Prozent des verfügbaren RAM ausmachen, der nicht für das Betriebssystem und den Webserver benötigt wird. Bei einem vServer mit 4 GB RAM können Sie beispielsweise 1,5 bis 2 GB für den Buffer Pool einplanen.
Was ist OPcache und warum ist es wichtig?
OPcache ist ein PHP-Bytecode-Cache, der kompilierte PHP-Skripte im Arbeitsspeicher zwischenspeichert. Dadurch müssen PHP-Dateien nicht bei jedem Aufruf neu kompiliert werden, was die Ausführungsgeschwindigkeit erheblich verbessert. OPcache sollte auf jedem vServer mit PHP aktiviert sein.
Wie berechne ich die optimale Anzahl an PHP-FPM-Workern?
Teilen Sie den für PHP verfügbaren RAM durch den durchschnittlichen Speicherverbrauch eines PHP-Prozesses (meist 30 bis 50 MB). Bei einem vServer mit 4 GB RAM und etwa 2,5 GB für PHP ergeben sich bei 40 MB pro Prozess rund 60 Worker als Maximum.
Brauche ich Swap-Speicher auf meinem vServer?
Ein kleiner Swap-Bereich von 1 bis 2 GB ist als Sicherheitsnetz empfehlenswert, besonders auf vServern mit SSD-Speicher. Setzen Sie den Swappiness-Wert auf 10 bis 20, damit der Kernel bevorzugt den RAM nutzt und Swap nur im Notfall verwendet wird.