Dlaczego „default config" to recepta na problemy
Domyślna konfiguracja serwerów webowych jest zaprojektowana pod kompatybilność, nie pod wydajność. Apache z domyślnym mpm_prefork zużywa 10x więcej RAM niż PHP-FPM z Nginx. MySQL z domyślnymi bufferami jest skonfigurowany na serwer z 512MB RAM z 2005 roku. PHP z domyślnymi limitami zabija procesy po 30 sekundach i nie ma opcache. To jak kupić samochód wyścigowy i jeździć na pierwszym biegu.
Nginx vs Apache - to jedna z najważniejszych decyzji architektonicznych. Nginx obsługuje 10x więcej jednoczesnych połączeń przy 10x mniejszym zużyciu RAM (event-driven vs process-based). Dla stron PHP: Nginx jako reverse proxy → PHP-FPM to złoty standard. Apache ma sens w specyficznych case'ach (.htaccess, mod_rewrite intensive), ale dla 90% zastosowań Nginx jest lepszym wyborem. Konfigurujemy oba - ale rekomendujemy Nginx.
Redis zmienia grę. In-memory data store jako cache layer - session storage, object cache, page cache, queue. Redis cache redukuje load na bazie danych o 80-90% - bo powtarzające się zapytania SQL są obsługiwane z RAM, nie z dysku. Dla WordPress z WooCommerce: Redis object cache = różnica między 3s a 0.5s TTFB.