Jak skonfigurować PHP 8.x FPM pod duży ruch?

04 wrz 2025 • 6 min czytania
PHP to jeden z najpopularniejszych języków skryptowych używanych do tworzenia stron internetowych i aplikacji webowych. Wiele dużych projektów opiera się właśnie na nim - od systemów CMS po zaawansowane platformy e-commerce. Jednak gdy liczba użytkowników rośnie, domyślna konfiguracja PHP okazuje się niewystarczająca. Skutkiem są spowolnienia, błędy 502/504 i przeciążenie serwera.

Odpowiednia optymalizacja php.ini oraz PHP-FPM pozwala przygotować środowisko na tysiące jednoczesnych żądań i zapewnia stabilność nawet podczas szczytów ruchu.

OPcache - fundament wydajności


Domyślnie każde wywołanie skryptu PHP wymaga ponownej kompilacji kodu do postaci bajtowej. To kosztowna operacja, która znacząco obciąża CPU. OPcache eliminuje ten problem, przechowując skompilowane skrypty w pamięci RAM.

Przykładowa konfiguracja w php.ini:

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=50000
opcache.validate_timestamps=1
opcache.revalidate_freq=60

Dzięki tym ustawieniom aplikacja działa szybciej, a serwer obsługuje więcej użytkowników bez zwiększania zasobów sprzętowych.

Limity i ochrona zasobów


Każda aplikacja ma inne wymagania, ale zawsze warto ustawić limity chroniące serwer przed przeciążeniem. Zbyt wysoka wartość memory_limit może doprowadzić do wyczerpania RAM, a zbyt długi czas wykonania skryptu może zablokować procesy PHP.


max_execution_time=30
max_input_time=60
memory_limit=512M
post_max_size=64M
upload_max_filesize=64M
realpath_cache_size=4096K
realpath_cache_ttl=600

Dzięki takim parametrom serwer nie zatrzyma się z powodu pojedynczego, źle napisanego skryptu lub wyjątkowo ciężkiego zapytania.

PHP-FPM - zarządzanie procesami


PHP-FPM (FastCGI Process Manager) pozwala obsługiwać wiele żądań równocześnie, uruchamiając niezależne procesy PHP. Kluczowe jest dopasowanie trybu pracy i ilości procesów do zasobów serwera.

Tryb dynamiczny sprawdzi się w większości projektów:

pm = dynamic
pm.max_children = 80
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 20
pm.max_requests = 500

Jeśli aplikacja generuje bardzo stabilny, wysoki ruch, warto rozważyć tryb static:

pm = static
pm.max_children = 200

Dobierając wartości pm.max_children, należy zawsze brać pod uwagę ilość dostępnego RAM. Jeżeli jeden proces PHP zużywa średnio 30 MB, a serwer posiada 8 GB pamięci, bezpieczna liczba procesów wynosi ok. 200 (zostawiając zapas dla systemu i innych usług).

Dodatkowe parametry PHP-FPM


Dobrze dobrane opcje PHP-FPM mogą uchronić przed przeciążeniami i błędami w komunikacji:

request_terminate_timeout = 30s
listen.backlog = 8192
listen = /run/php/php8.2-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

Opcja request_terminate_timeout zabezpiecza przed wiszącymi procesami, a listen.backlog zwiększa kolejkę żądań, gdy serwer chwilowo nie nadąża z obsługą.

Monitorowanie i strojenie


Optymalizacja to proces ciągły. Nawet najlepsza konfiguracja wymaga dostosowania do realnego obciążenia. Warto korzystać z narzędzi takich jak htop, systemd-cgtop czy wbudowane statusy PHP-FPM, aby obserwować zużycie RAM i czas odpowiedzi.

Analiza logów slow.log pomaga zidentyfikować skrypty, które są wąskim gardłem aplikacji. Ich optymalizacja może przynieść większe efekty niż sama zmiana parametrów.

Podsumowanie


Skuteczna konfiguracja PHP pod duży ruch to połączenie kilku elementów: OPcache, odpowiednich limitów php.ini, dopasowania trybu i parametrów PHP-FPM oraz regularnego monitoringu. Wdrożenie tych praktyk sprawia, że serwer działa stabilnie i wydajnie, a aplikacja może obsłużyć tysiące użytkowników jednocześnie bez kosztownych inwestycji w nową infrastrukturę.

Jeśli chcesz przygotować swoje środowisko PHP na obsługę dużego ruchu - skontaktuj się z nami. Pomożemy Ci w pełnej konfiguracji i optymalizacji.
07 wrz 2025 • 8 min czytania

Jak działa swap w Linux i kiedy warto go wyłączyć

Swap w systemie Linux to przestrzeń na dysku używana jako rozszerzenie pamięci RAM. Dzięki niemu system może działać nawet wtedy, gdy...

Zobacz więcej

07 wrz 2025 • 9 min czytania

Jak monitorować zużycie zasobów I/O i sieci (iostat, iftop, nload)

Sprawne monitorowanie serwera to nie tylko obserwacja CPU i RAM. Równie istotne są wskaźniki I/O dysków oraz obciążenie sieci. Wysokie...

Zobacz więcej

07 wrz 2025 • 9 min czytania

Uwierzytelnianie dwuskładnikowe SSH z Google Authenticator

Dostęp do serwera przez SSH to podstawowe narzędzie administratora, ale jednocześnie jeden z najczęściej atakowanych punktów w...

Zobacz więcej

03 wrz 2025 • 8 min czytania

Raid5 w macierzach dyskowych - czy to dobry wybór?

RAID5 to jedno z najczęściej stosowanych rozwiązań w budowie macierzy dyskowych. Łączy w sobie wydajność, pojemność i bezpieczeństwo...

Zobacz więcej

07 wrz 2025 • 12 min czytania

Checklista migracyjna - jak przeprowadzić bezpieczną migrację serwera i aplikacji

Migracja serwera, aplikacji lub sklepu internetowego to proces wymagający precyzji i odpowiedniego planowania. Błędy mogą skutkować...

Zobacz więcej

Tutaj znajdziesz odpowiedzi na najważniejsze pytania dotyczące naszych usług i wsparcia.

FAQ

Jakie usługi administracji serwerami oferujecie?

Świadczymy kompleksową obsługę - od konfiguracji i monitoringu, przez optymalizację wydajności, aż po pełne wsparcie techniczne 24/7.

Czy zajmujecie się migracją danych i systemów?

Tak, wykonujemy bezpieczne migracje plików, baz danych i aplikacji - bez przestojów i bez dodatkowych kosztów.

Czym różni się serwer dedykowany od VPS?

Serwer dedykowany to pełna maszyna tylko dla Ciebie, a VPS to jej podział na wirtualne środowiska - tańsze, ale współdzielone.

Czy mogę liczyć na pomoc przy awarii?

Tak, monitorujemy serwery całodobowo i natychmiast reagujemy w przypadku awarii, minimalizując ryzyko przestoju.

Czy Wasze rozwiązania są skalowalne?

Oferujemy infrastrukturę, która rośnie razem z Twoim biznesem - łatwo zwiększysz zasoby wtedy, gdy tego potrzebujesz.

Czy oferujecie wsparcie przy budowie infrastruktury?

Tak, projektujemy i wdrażamy środowiska IT dopasowane do potrzeb – od małych firm po duże, złożone systemy.

Jak zabezpieczacie serwery przed atakami i utratą danych?

Stosujemy firewalle, systemy anty-DDoS, regularne backupy i aktualizacje, aby zapewnić maksymalne bezpieczeństwo.

Jakie gwarancje SLA zapewniacie?

Oferujemy SLA na poziomie 99.99% dostępności, co oznacza niezawodne działanie infrastruktury i szybki czas reakcji przy ewentualnych problemach.

Chcesz dowiedzieć się więcej o naszej ofercie?

Wyślij  zapytanie