Web Performance Tuning: TTFB senken, Cache erhöhen, DB optimieren

Die Performance einer Webanwendung ist entscheidend für Nutzererfahrung, SEO-Ranking und Serverlast. Kernmetriken wie TTFB (Time To First Byte), Cache-Effizienz und Datenbankantwortzeiten haben direkten Einfluss auf die Ladegeschwindigkeit. In diesem Tutorial erfahren Sie praxisnah, wie Sie TTFB senken, Caching optimal nutzen und Datenbanken für Webserver wie Nginx, Apache oder PHP-Anwendungen effizient konfigurieren.

Time To First Byte (TTFB) verstehen

TTFB misst die Zeit vom Senden einer HTTP-Anfrage bis zum Empfang des ersten Bytes der Antwort. Eine hohe TTFB deutet auf langsame Serververarbeitung, Netzwerkverzögerungen oder ineffiziente Applikationen hin.

  • Wichtige Ursachen für hohe TTFB:
    • Lange PHP-Skriptausführungen
    • Datenbankabfragen mit schlechter Indexierung
    • Unzureichendes Caching
    • Netzwerk- oder DNS-Latenzen
  • Messung:
    curl -w "%{time_starttransfer}n" -o /dev/null -s https://example.com

Server- und Applikationsoptimierung

PHP-FPM Tuning

Die Optimierung von PHP-FPM erhöht die Geschwindigkeit dynamischer Seiten.

# Beispiel für /etc/php/8.1/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500

OPcache aktivieren

PHP-Code wird vorkompiliert und im Speicher gehalten, um wiederholte Parsing-Zeiten zu vermeiden.

zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
opcache.revalidate_freq=2

Caching-Strategien erhöhen

HTTP-Cache

  • Cache-Control Header setzen:
    Cache-Control: public, max-age=3600
  • ETags verwenden:
    etag on;
  • Expires Header für statische Inhalte:
    expires 30d;

Reverse Proxy Caching (Varnish/Nginx)

# Beispiel Nginx
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

server {
location / {
proxy_pass http://backend;
proxy_cache my_cache;
proxy_cache_valid 200 5m;
add_header X-Cache $upstream_cache_status;
}
}

Application Layer Cache (Redis/Memcached)

  • Session- und Objekt-Caching
  • Reduziert DB-Abfragen
  • Beispiel Redis für PHP:
    ini_set('session.save_handler', 'redis');
    ini_set('session.save_path', 'tcp://127.0.0.1:6379');

Datenbankoptimierung

MySQL / MariaDB

  • Indizes für häufige WHERE-Bedingungen setzen
  • Query Caching aktivieren:
    SET GLOBAL query_cache_size = 64M;
    SET GLOBAL query_cache_type = 1;
  • Connection Pooling nutzen (z. B. ProxySQL, MySQL Pool)
  • Langsame Abfragen analysieren:
    SELECT * FROM mysql.slow_log ORDER BY query_time DESC LIMIT 10;

PostgreSQL

  • Work_mem und shared_buffers anpassen:
    shared_buffers = 1GB
    work_mem = 64MB
  • pg_stat_statements aktivieren für Query-Monitoring:
    CREATE EXTENSION pg_stat_statements;
  • Connection Pooling mit PgBouncer:
    [databases]
    mydb = host=127.0.0.1 port=5432 dbname=mydb
    

    [pgbouncer]
    listen_addr = 127.0.0.1
    listen_port = 6432
    auth_type = md5
    pool_mode = transaction
    max_client_conn = 100
    default_pool_size = 20

Content Delivery Network (CDN) einsetzen

Ein CDN reduziert TTFB für entfernte Nutzer, indem statische Inhalte global verteilt werden.

  • Cloudflare, Fastly oder Akamai als Anbieter
  • DNS auf CDN-Edge-Server zeigen
  • Cache-Control Header konsistent zwischen Origin und CDN

Monitoring und Performance Tests

  • TTFB messen:
    curl -w "%{time_starttransfer}n" -o /dev/null -s https://example.com
  • Load Testing:
    ab -n 1000 -c 50 https://example.com/
  • Database Query Monitoring und Index Optimierung
  • Varnish / Nginx Cache-Hit Ratio analysieren:
    varnishstat
    nginx -V

IPv4/IPv6 Netzplanung für Web Stack

<math>
Origin IPv4 = 10.0.0.5/24
Varnish/Proxy IPv4 = 10.0.0.2/24
IPv6 Origin = fd00:web:1::5/64
IPv6 Proxy = fd00:web:1::2/64
</math>

Best Practices

  • Statische Inhalte langfristig cachen (30 Tage)
  • Dynamische Inhalte kurz cachen oder Edge Side Includes nutzen
  • PHP-FPM, OPcache, Redis optimal konfigurieren
  • Query-Optimierung und Indizes für DB-Abfragen
  • Reverse Proxy Caching einsetzen (Nginx, Varnish)
  • CDN für globale Performance
  • Monitoring von TTFB, Cache-Hits und Datenbankzeiten
  • Zero-Downtime Deployments durch Cache-Invalidation
  • Security Header und TLS vor Caching aktivieren
  • Regelmäßige Tests unter Last 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.

Related Articles