In hochskalierenden Linux-Umgebungen ist das richtige System Performance Tuning entscheidend, um eine hohe Anzahl gleichzeitiger Verbindungen (High Concurrency) zuverlässig zu bedienen. Standardwerte von ulimits, File Descriptors und Kernel-Parametern über sysctl reichen oft nicht aus, um Engpässe zu vermeiden. Dieser Leitfaden zeigt praxisnah, wie Sie Ihr System für maximale Stabilität und Performance optimieren können.
File Descriptors und ulimits
File Descriptors (FDs) sind die Schnittstelle zwischen Anwendungen und dem Betriebssystem für Dateien, Sockets und Pipes. Bei hoher Last kann ein Mangel an FDs zu Fehlern wie Too many open files führen.
Maximale File Descriptors prüfen
ulimit -n
cat /proc/sys/fs/file-max
Erhöhung temporär und permanent
- Temporär für die aktuelle Shell:
ulimit -n 65535 - Permanente Einstellung für Benutzer:
echo "username soft nofile 65535" >> /etc/security/limits.conf echo "username hard nofile 65535" >> /etc/security/limits.conf - Permanente Systemweite Maximalwerte:
echo "fs.file-max = 2097152" >> /etc/sysctl.conf sysctl -p
Prozesse und Threads
Bei hoher Last kann die Anzahl von Prozessen oder Threads limitierend sein. Linux verwendet ulimit -u für die maximale Anzahl pro User.
Limits prüfen und setzen
ulimit -u
echo "username soft nproc 65535" >> /etc/security/limits.conf
echo "username hard nproc 65535" >> /etc/security/limits.conf
Kernel Tuning mit sysctl
Viele Parameter im Netzwerk- und IO-Bereich können über sysctl optimiert werden. Dies ist besonders wichtig für Systeme mit hoher Parallelität.
Netzwerk-Parameter
- Maximale Anzahl von TCP-Verbindungen:
sysctl -w net.core.somaxconn=65535 sysctl -w net.ipv4.tcp_max_syn_backlog=4096 - Ephemeral Ports:
sysctl -w net.ipv4.ip_local_port_range="1024 65535" - TCP Reuse und Recycling:
sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w net.ipv4.tcp_tw_recycle=1 - TCP Keepalive Interval:
sysctl -w net.ipv4.tcp_keepalive_time=300
IO-Parameter
- Maximale offene Dateien pro Prozess:
sysctl -w fs.file-max=2097152 - Swappiness reduzieren für Performance:
sysctl -w vm.swappiness=10 - Dirty Ratio zur Kontrolle von Write-Backs:
sysctl -w vm.dirty_ratio=15 sysctl -w vm.dirty_background_ratio=5
IO- und Netzwerk-Queues
Für High Concurrency sollten Netzwerkkarten und Storage-Subsysteme korrekt dimensioniert werden. Linux erlaubt Anpassungen über net.core.netdev_max_backlog und block device queue Parameter.
Beispiel für Netzwerk-Queues
sysctl -w net.core.netdev_max_backlog=5000
ethtool -G eth0 rx 4096 tx 4096
Beispiel für Storage-Queues
cat /sys/block/sda/queue/nr_requests
echo 1024 > /sys/block/sda/queue/nr_requests
Monitoring und Validierung
Nach Anpassungen sollten Limits und Kernel-Parameter überwacht werden, um Engpässe frühzeitig zu erkennen.
Check offenes File Descriptor Limit
lsof | wc -l
cat /proc/sys/fs/file-nr
Netzwerk Monitoring
ss -s
netstat -s | grep tcp
watch -n1 'ss -tn state established'
Kernel Parameter prüfen
sysctl -a | grep somaxconn
sysctl -a | grep tcp_max_syn_backlog
Best Practices
- Alle Änderungen in
/etc/sysctl.confund/etc/security/limits.confdokumentieren - Schrittweise Anpassungen testen und überwachen
- uLimits auf User- und Prozess-Ebene konsistent setzen
- Regelmäßige Performance-Messungen mit Tools wie
htop,iostatundsar - Bei Produktionssystemen Änderungen während Wartungsfenstern durchführen
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

