Die richtige Server-Hardware zu wählen ist entscheidend für Performance und Kosten. Dieser Artikel erklärt die wichtigsten Komponenten und hilft bei der Dimensionierung.

CPU (Prozessor)

Der Prozessor ist das Herzstück des Servers. Er führt alle Berechnungen aus.

Wichtige Begriffe

| Begriff | Bedeutung | |---------|-----------| | Kerne (Cores) | Unabhängige Recheneinheiten | | Threads | Virtuelle Kerne durch Hyperthreading | | Taktfrequenz | Geschwindigkeit in GHz | | Cache | Schneller Zwischenspeicher | | TDP | Stromverbrauch/Wärmeentwicklung |

Kerne vs. Threads

Physische Kerne: Echte Hardware-Einheiten
Threads (vCPU): Mit Hyperthreading verdoppelt

4-Kern-CPU ohne Hyperthreading: 4 Threads
4-Kern-CPU mit Hyperthreading: 8 Threads

CPU-Typen für Server

Intel Xeon

  • Entwickelt für Server
  • Hohe Zuverlässigkeit
  • ECC-RAM-Support
  • Mehr Kerne verfügbar

AMD EPYC

  • Sehr viele Kerne
  • Gutes Preis-Leistungs-Verhältnis
  • Hohe Speicherbandbreite

Desktop-CPUs (Intel Core, AMD Ryzen)

  • Günstiger
  • Weniger Kerne
  • Für kleinere Server geeignet

CPU-Dimensionierung

| Anwendung | Empfehlung | |-----------|------------| | Statische Website | 1-2 vCPU | | WordPress | 2-4 vCPU | | E-Commerce | 4-8 vCPU | | Datenbank | 4-8+ vCPU | | Video-Encoding | 8-16+ vCPU | | Gameserver | 4-8 vCPU |

Single-Thread vs. Multi-Thread

Manche Anwendungen nutzen nur einen Kern:

Single-Thread-lastig:
- Viele PHP-Anwendungen
- Ältere Software
- Einige Datenbank-Abfragen

Multi-Thread-lastig:
- Video-Encoding
- Kompilierung
- Parallele Anfragen

RAM (Arbeitsspeicher)

RAM ist der schnelle Zwischenspeicher für laufende Programme und Daten.

RAM-Typen

DDR4

  • Aktueller Standard
  • 2133-3200 MHz
  • Gute Verfügbarkeit

DDR5

  • Neueste Generation
  • Höhere Bandbreite
  • Noch teurer

ECC-RAM

  • Error Correcting Code
  • Erkennt und korrigiert Fehler
  • Standard bei Server-Hardware

RAM-Dimensionierung

| Anwendung | Minimum | Empfohlen | |-----------|---------|-----------| | Minimales Linux | 512 MB | 1 GB | | Webserver | 1 GB | 2-4 GB | | WordPress | 2 GB | 4-8 GB | | Nextcloud | 2 GB | 4-8 GB | | MySQL/MariaDB | 2 GB | 4-16 GB | | Docker-Host | 2 GB | 8-16 GB | | Mail-Server | 2 GB | 4-8 GB | | E-Commerce | 4 GB | 8-16 GB | | ERP-System | 8 GB | 16-32 GB |

RAM-Verbrauch prüfen

# Übersicht
free -h

# Detailliert
cat /proc/meminfo

# Pro Prozess
ps aux --sort=-%mem | head -10

Swap als Notfallpuffer

Swap erweitert RAM auf die Festplatte:

# Swap prüfen
swapon --show

# Swap sollte nicht ständig genutzt werden
# Hoher Swap = RAM zu knapp

Speicher (SSD/HDD)

Der Massenspeicher für Betriebssystem, Anwendungen und Daten.

SSD-Typen

SATA-SSD

  • Bis zu 550 MB/s
  • Günstig
  • Gut für die meisten Anwendungen

NVMe-SSD

  • Bis zu 7000+ MB/s
  • Teurer
  • Für hohe I/O-Anforderungen

HDD (Festplatte)

  • Günstiger pro GB
  • Langsamer (100-200 MB/s)
  • Für Archivdaten, Backups

Vergleich

| Eigenschaft | HDD | SATA-SSD | NVMe-SSD | |-------------|-----|----------|----------| | Lesen | 150 MB/s | 550 MB/s | 3500+ MB/s | | Schreiben | 150 MB/s | 500 MB/s | 3000+ MB/s | | IOPS | 100-200 | 50.000-100.000 | 500.000+ | | Preis/GB | € | €€ | €€€ | | Haltbarkeit | Mechanisch | Elektronisch | Elektronisch |

Speicher-Dimensionierung

| Anwendung | Minimum | Empfohlen | |-----------|---------|-----------| | Minimales System | 10 GB | 20 GB | | Webserver | 20 GB | 50 GB | | WordPress | 30 GB | 50-100 GB | | Mail-Server | 50 GB | 100+ GB | | Datenbank | 50 GB | Je nach Daten | | Nextcloud | 50 GB | Je nach Nutzung |

Speicherplatz prüfen

# Belegung
df -h

# Größte Verzeichnisse
du -sh /* | sort -hr | head -10

Netzwerkanbindung

Oft übersehen, aber wichtig für Performance.

Bandbreite

| Anbindung | Geschwindigkeit | |-----------|-----------------| | 100 Mbit | ~12 MB/s | | 1 Gbit | ~125 MB/s | | 10 Gbit | ~1250 MB/s |

Traffic vs. Bandbreite

Bandbreite: Maximale Geschwindigkeit
Traffic: Übertragenes Datenvolumen

Beispiel:
1 Gbit Anbindung mit 10 TB Traffic/Monat

Dimensionierung nach Anwendung

Webserver (statisch)

CPU: 1-2 vCPU
RAM: 1-2 GB
SSD: 20 GB

WordPress-Blog

CPU: 2-4 vCPU
RAM: 4 GB
SSD: 30-50 GB

Online-Shop (WooCommerce)

CPU: 4-8 vCPU
RAM: 8-16 GB
SSD: 50-100 GB NVMe

Datenbank-Server

CPU: 4-8 vCPU
RAM: 16-32 GB (viel für Caching)
SSD: NVMe für Performance

Docker-Host mit mehreren Containern

CPU: 4-8 vCPU
RAM: 8-16 GB
SSD: 100+ GB

Gameserver (z.B. Minecraft)

CPU: 4-6 vCPU (Single-Thread wichtig)
RAM: 8-16 GB
SSD: 50 GB

Skalierungsstrategien

Vertikal (Scale Up)

Mehr Ressourcen für einen Server:

  • Mehr RAM
  • Mehr CPU-Kerne
  • Schnellere SSD

Vorteile: Einfach, keine Architekturänderung Nachteile: Irgendwann Grenze erreicht

Horizontal (Scale Out)

Mehrere Server mit Lastverteilung:

  • Load Balancer vor Webservern
  • Datenbank-Replikation
  • Cluster-Lösungen

Vorteile: Keine theoretische Grenze Nachteile: Komplexer, erfordert Anpassungen

Monitoring der Ressourcen

CPU-Auslastung

# Echtzeit
top
htop

# Durchschnitt
uptime  # Load Average

RAM-Auslastung

free -h
vmstat 1

Speicher-I/O

iostat -x 1
iotop

Netzwerk

iftop
nload

Wann aufrüsten?

CPU

  • Load Average dauerhaft > Anzahl Kerne
  • Hoher CPU-Wait
  • Langsame Antwortzeiten

RAM

  • Ständige Swap-Nutzung
  • Out-of-Memory-Fehler
  • Cache wird nicht genutzt

Speicher

  • Weniger als 10% frei
  • Hohe I/O-Wait-Zeiten
  • Langsame Datenbankabfragen

Fazit

Die richtige Hardware-Dimensionierung ist ein Balanceakt zwischen Performance, Kosten und Zukunftssicherheit. Starten Sie mit einer konservativen Konfiguration und skalieren Sie bei Bedarf. Überwachen Sie regelmäßig CPU, RAM und Speicher. Lieber etwas Reserve einplanen als ständig am Limit zu arbeiten. Bei VPS-Servern können Sie meist einfach upgraden, bei Dedicated Servern ist die Planung wichtiger.