{"id":16181,"date":"2025-12-24T11:51:59","date_gmt":"2025-12-24T10:51:59","guid":{"rendered":"https:\/\/webhosting.de\/php-handler-vergleich-performance-hosting-optimus-cache\/"},"modified":"2025-12-24T11:51:59","modified_gmt":"2025-12-24T10:51:59","slug":"porownanie-handlerow-php-wydajnosc-hosting-optimus-cache","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/php-handler-vergleich-performance-hosting-optimus-cache\/","title":{"rendered":"Por\u00f3wnanie handler\u00f3w PHP: wp\u0142yw na wydajno\u015b\u0107 hostingu internetowego"},"content":{"rendered":"<p>To por\u00f3wnanie modu\u0142\u00f3w obs\u0142ugi PHP pokazuje, jak mod_php, CGI, FastCGI, PHP-FPM i LSAPI <strong>Wydajno\u015b\u0107<\/strong> wp\u0142ywaj\u0105 na Twoje hostowanie \u2013 od obci\u0105\u017cenia procesora po op\u00f3\u017anienia ogona. Wyja\u015bniam konkretnie, jaki wyb\u00f3r w przypadku WordPress, WooCommerce i szczyt\u00f3w ruchu <strong>Czas za\u0142adunku<\/strong> obni\u017ca zu\u017cycie energii, a jednocze\u015bnie oszcz\u0119dza zasoby.<\/p>\n\n<h2>Punkty centralne<\/h2>\n<ul>\n  <li><strong>PHP-FPM<\/strong> skaluje si\u0119 bardziej efektywnie ni\u017c mod_php i FastCGI.<\/li>\n  <li><strong>LSAPI<\/strong> zapewnia najlepsze wyniki w LiteSpeed.<\/li>\n  <li><strong>Izolacja<\/strong> na u\u017cytkownika zwi\u0119ksza bezpiecze\u0144stwo.<\/li>\n  <li><strong>OPcache<\/strong> i Redis zmniejszaj\u0105 op\u00f3\u017anienia.<\/li>\n  <li><strong>P95\/P99<\/strong> pokazuje prawdziwe do\u015bwiadczenia u\u017cytkownik\u00f3w.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/php-handler-serverraum-4731.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Jak dzia\u0142aj\u0105 modu\u0142y PHP<\/h2>\n\n<p>Obs\u0142uga PHP \u0142\u0105czy serwer WWW z interpreterem i steruje <strong>Procesy<\/strong>, pami\u0119\u0107 i operacje wej\u015bcia\/wyj\u015bcia dla ka\u017cdego \u017c\u0105dania. CGI uruchamia nowy proces dla ka\u017cdego \u017c\u0105dania i ponownie \u0142aduje konfiguracje, co powoduje obci\u0105\u017cenie i zwi\u0119ksza <strong>Op\u00f3\u017anienie<\/strong> zwi\u0119kszona. Nowoczesne warianty, takie jak FastCGI, PHP-FPM lub LSAPI, utrzymuj\u0105 pracownik\u00f3w w stanie ci\u0105g\u0142ej gotowo\u015bci, oszcz\u0119dzaj\u0105c w ten spos\u00f3b czas uruchamiania, zmiany kontekstu i cykle procesora. OPcache pozostaje w pami\u0119ci, dzi\u0119ki czemu nie trzeba za ka\u017cdym razem kompilowa\u0107 kodu bajtowego, a strony dynamiczne reaguj\u0105 szybciej. Jednocze\u015bnie zarz\u0105dzanie procesami decyduje o tym, ile jednoczesnych \u017c\u0105da\u0144 mo\u017ce by\u0107 obs\u0142ugiwanych, jak ustalane s\u0105 priorytety i jak mo\u017cna z\u0142agodzi\u0107 szczyty obci\u0105\u017cenia.<\/p>\n\n<h2>Bezpo\u015brednie por\u00f3wnanie popularnych handler\u00f3w<\/h2>\n\n<p>Wyb\u00f3r operatora determinuje <strong>Skalowanie<\/strong>, model bezpiecze\u0144stwa i wymagania aplikacji dotycz\u0105ce pami\u0119ci RAM. mod_php integruje PHP z procesem Apache i zapewnia kr\u00f3tkie czasy odpowiedzi, ale ma s\u0142ab\u0105 <strong>Izolacja<\/strong> mi\u0119dzy kontami. CGI wyra\u017anie rozdziela u\u017cytkownik\u00f3w, ale zu\u017cywa ogromn\u0105 ilo\u015b\u0107 czasu procesora na ka\u017cde \u017c\u0105danie. FastCGI zmniejsza obci\u0105\u017cenie, ale pozostaje mniej wydajne ni\u017c dobrze dostrojone PHP-FPM. LSAPI idzie o krok dalej, gdy u\u017cywane jest LiteSpeed, i stabilizuje zw\u0142aszcza op\u00f3\u017anienia ogona przy wielu jednoczesnych po\u0142\u0105czeniach.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Handler<\/th>\n      <th>Wydajno\u015b\u0107<\/th>\n      <th>Bezpiecze\u0144stwo<\/th>\n      <th>Wymagania dotycz\u0105ce pami\u0119ci RAM<\/th>\n      <th>Skalowalno\u015b\u0107<\/th>\n      <th>Scenariusz operacyjny<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>mod_php<\/td>\n      <td>Wysoki<\/td>\n      <td>Niski<\/td>\n      <td>Niski<\/td>\n      <td>\u015aredni<\/td>\n      <td>Ma\u0142e witryny, rzadkie szczyty<\/td>\n    <\/tr>\n    <tr>\n      <td>CGI<\/td>\n      <td>Niski<\/td>\n      <td>Wysoki<\/td>\n      <td>Wysoki<\/td>\n      <td>Niski<\/td>\n      <td>Tre\u015bci statyczne, testy<\/td>\n    <\/tr>\n    <tr>\n      <td>FastCGI<\/td>\n      <td>\u015aredni<\/td>\n      <td>\u015aredni<\/td>\n      <td>\u015aredni<\/td>\n      <td>\u015aredni<\/td>\n      <td>rozwi\u0105zanie tymczasowe<\/td>\n    <\/tr>\n    <tr>\n      <td>PHP-FPM<\/td>\n      <td>Bardzo wysoki<\/td>\n      <td>Wysoki<\/td>\n      <td>Niski<\/td>\n      <td>Wysoki<\/td>\n      <td>Hosting wsp\u00f3\u0142dzielony, CMS<\/td>\n    <\/tr>\n    <tr>\n      <td>LSAPI<\/td>\n      <td>Najwy\u017cszy<\/td>\n      <td>\u015aredni<\/td>\n      <td>Bardzo niski<\/td>\n      <td>Bardzo wysoki<\/td>\n      <td>Wysoki ruch, e-commerce<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/phphandler_vergleich_8372.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>PHP-FPM w praktyce: procesy, pule, tuning<\/h2>\n\n<p>PHP-FPM dzia\u0142a z pulami pracownik\u00f3w, kt\u00f3re pobieraj\u0105 zapytania z kolejki, a tym samym <strong>Szczyty obci\u0105\u017cenia<\/strong> eleganckie amortyzowanie. Tworz\u0119 osobn\u0105 pul\u0119 dla ka\u017cdej strony internetowej, dzi\u0119ki czemu konfiguracja, limity i kontekst u\u017cytkownika pozostaj\u0105 oddzielone, a <strong>Bezpiecze\u0144stwo<\/strong> wzrasta. W praktyce op\u0142acalne s\u0105 ustawienia adaptacyjne, takie jak pm = dynamic lub ondemand, poniewa\u017c liczba aktywnych proces\u00f3w dostosowuje si\u0119 do zapotrzebowania. Decyduj\u0105ce znaczenie ma prawid\u0142owe wymiarowanie pm.max_children i limit\u00f3w czasowych, aby kolejka nie ros\u0142a, a mimo to pozosta\u0142y rezerwy pami\u0119ci RAM. Na pocz\u0105tek zalecam sprawdzenie parametr\u00f3w w spos\u00f3b ustrukturyzowany; szczeg\u00f3\u0142y dotycz\u0105ce precyzyjnego dostrajania wyja\u015bniam tutaj: <a href=\"https:\/\/webhosting.de\/pl\/php-fpm-zarzadzanie-procesami-pm-max-children-optymalizacja-rdzenia\/\">Zarz\u0105dzanie procesami PHP-FPM<\/a>.<\/p>\n\n<h2>LSAPI i LiteSpeed: najwy\u017csza wydajno\u015b\u0107 przy du\u017cej wsp\u00f3\u0142bie\u017cno\u015bci<\/h2>\n\n<p>LSAPI przechowuje procesy PHP w pami\u0119ci i ogranicza zmiany kontekstu, co pozwala na wy\u015bwietlanie tre\u015bci dynamicznych za pomoc\u0105 <strong>HTTP\/3<\/strong> i QUIC s\u0105 dostarczane jeszcze p\u0142ynniej. Przy pe\u0142nym obci\u0105\u017ceniu op\u00f3\u017anienie P95\/P99 pozostaje bardziej stabilne ni\u017c w przypadku wielu alternatywnych rozwi\u0105za\u0144, co <strong>Do\u015bwiadczenie u\u017cytkownika<\/strong> wyra\u017anie poprawi\u0142a si\u0119. Regularnie obserwuj\u0119 wi\u0119cej zapyta\u0144 na sekund\u0119 i kr\u00f3tszy czas TTFB na stronach sklepu i tre\u015bci, zw\u0142aszcza gdy OPcache i pami\u0119\u0107 podr\u0119czna serwera wsp\u00f3\u0142pracuj\u0105 ze sob\u0105. Korzy\u015b\u0107 ta widoczna jest nie tylko w warto\u015bciach \u015brednich, ale tak\u017ce w sesjach r\u00f3wnoczesnych, sesjach z brakami w pami\u0119ci podr\u0119cznej i \u201ezimnych\u201c procesach PHP. Aby zrozumie\u0107 r\u00f3\u017cnic\u0119 w architekturze, przeczytaj przegl\u0105d <a href=\"https:\/\/webhosting.de\/pl\/litespeed-vs-nginx-architektura-wydajnosc-wyjasnienie-speedboost\/\">LiteSpeed kontra Nginx<\/a> a nast\u0119pnie podejmuje decyzj\u0119 dotycz\u0105c\u0105 stosu.<\/p>\n\n<h2>WordPress i WooCommerce: prawid\u0142owe klasyfikowanie warto\u015bci pomiarowych<\/h2>\n\n<p>W WordPressie osi\u0105gam wysokie wyniki dzi\u0119ki PHP 8.2 na FPM lub LSAPI. <strong>req\/s<\/strong>-warto\u015bci, podczas gdy WooCommerce generuje nieco mniej \u017c\u0105da\u0144 na sekund\u0119 dzi\u0119ki sesjom, logice koszyka i wi\u0119kszej liczbie dost\u0119p\u00f3w do bazy danych. Test ma znaczenie dopiero w realistycznych warunkach. <strong>Ruch uliczny<\/strong> z mieszank\u0105 trafie\u0144 i brak\u00f3w w pami\u0119ci podr\u0119cznej. Krytyczny CSS, pami\u0119\u0107 podr\u0119czna obiekt\u00f3w i trwa\u0142e po\u0142\u0105czenia przesuwaj\u0105 granic\u0119, od kt\u00f3rej powstaj\u0105 w\u0105skie gard\u0142a. Szczeg\u00f3lnie pomocne s\u0105 kr\u00f3tkie TTL dla cz\u0119sto zmienianych tre\u015bci oraz zr\u00f3\u017cnicowane klucze pami\u0119ci podr\u0119cznej dla j\u0119zyka, statusu u\u017cytkownika i typu urz\u0105dzenia. Dzi\u0119ki temu strona pozostaje szybka, mimo \u017ce dostarcza spersonalizowane tre\u015bci.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/php-handler-vergleich-performance-4762.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Bezpiecze\u0144stwo i izolacja: pule, kontekst u\u017cytkownika, limity<\/h2>\n\n<p>W przypadku hostingu wielou\u017cytkownikowego preferuj\u0119 oddzielne <strong>baseny<\/strong> na konto, aby prawa, \u015bcie\u017cki i limity pozosta\u0142y wyra\u017anie oddzielone od siebie. mod_php dzieli wsp\u00f3lny kontekst, co <strong>Ryzyko<\/strong> zwi\u0119ksza si\u0119, gdy projekt ma luki. FPM lub LSAPI z konfiguracjami dla poszczeg\u00f3lnych u\u017cytkownik\u00f3w znacznie ograniczaj\u0105 t\u0119 powierzchni\u0119 ataku, poniewa\u017c procesy s\u0105 uruchamiane pod danym u\u017cytkownikiem. Dodatkowo istnieje mo\u017cliwo\u015b\u0107 ustawienia r\u00f3\u017cnych opcji php.ini na poziomie projektu bez wp\u0142ywu na inne witryny. Limity zasob\u00f3w, takie jak max_execution_time i memory_limit dla ka\u017cdej puli, zapobiegaj\u0105 spowolnieniu serwera przez warto\u015bci odstaj\u0105ce.<\/p>\n\n<h2>Zu\u017cycie zasob\u00f3w i planowanie pami\u0119ci RAM<\/h2>\n\n<p>Ka\u017cdy modu\u0142 PHP zajmuje, w zale\u017cno\u015bci od kodu, rozszerze\u0144 i <strong>OPcache<\/strong>-Rozmiar pami\u0119ci znacznie si\u0119 r\u00f3\u017cni, dlatego mierz\u0119 rzeczywiste zu\u017cycie zamiast zgadywa\u0107. Narz\u0119dzia takie jak ps, top lub systemd-cgtop pokazuj\u0105, ile pami\u0119ci RAM faktycznie zajmuj\u0105 aktywne procesy i kiedy. <strong>Swapping<\/strong> grozi. Nast\u0119pnie ustalam pm.max_children konserwatywnie, pozostawiaj\u0105c rezerw\u0119 dla bazy danych, serwera WWW i us\u0142ug pami\u0119ci podr\u0119cznej i obserwuj\u0119 op\u00f3\u017anienie P95 poni\u017cej warto\u015bci szczytowej. Je\u015bli pozostaj\u0105 rezerwy, stopniowo zwi\u0119kszam liczb\u0119 proces\u00f3w potomnych i ponownie sprawdzam. W ten spos\u00f3b ca\u0142kowita pojemno\u015b\u0107 ro\u015bnie w spos\u00f3b kontrolowany, bez przeci\u0105\u017cania serwera.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/phphandlervergleich_nacht_3207.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Metodologia pomiaru: od TTFB do P99<\/h2>\n\n<p>Oceniam nie tylko warto\u015bci \u015brednie, ale przede wszystkim <strong>P95<\/strong>\u2013 i op\u00f3\u017anienia P99, poniewa\u017c odzwierciedlaj\u0105 one rzeczywiste do\u015bwiadczenia pod obci\u0105\u017ceniem. Stos mo\u017ce dzia\u0142a\u0107 z identyczn\u0105 przepustowo\u015bci\u0105, a mimo to dzia\u0142a\u0107 gorzej przy P99, je\u015bli <strong>Kolejki<\/strong> rosn\u0105\u0107. Dlatego testuj\u0119 zimne i ciep\u0142e pami\u0119ci podr\u0119czne, mieszam \u017c\u0105dania odczytu i zapisu oraz stosuj\u0119 realistyczne warto\u015bci wsp\u00f3\u0142bie\u017cno\u015bci. Bez rozgrzewki OPcache ostro\u017cnie interpretuj\u0119 wyniki, poniewa\u017c wiele system\u00f3w po kilku wywo\u0142aniach rozgrzewki staje si\u0119 znacznie szybszych. Dopiero po przeprowadzeniu reprezentatywnych test\u00f3w podejmuj\u0119 decyzj\u0119 dotycz\u0105c\u0105 obs\u0142ugi, strategii buforowania i limit\u00f3w proces\u00f3w.<\/p>\n\n<h2>Przewodnik dotycz\u0105cy wyboru operatora<\/h2>\n\n<p>W przypadku ma\u0142ych stron z niewielk\u0105 liczb\u0105 logowa\u0144 wystarczy mod_php lub oszcz\u0119dny <strong>FPM<\/strong>-Konfiguracja, o ile uwzgl\u0119dnione zostan\u0105 kwestie bezpiecze\u0144stwa. Je\u015bli wzro\u015bnie wsp\u00f3\u0142bie\u017cno\u015b\u0107, przejd\u0119 na <strong>PHP-FPM<\/strong> z oddzielnymi pulami dla ka\u017cdego projektu i konsekwentnie aktywuj\u0119 OPcache. W przypadku bardzo dynamicznych sklep\u00f3w i wielu sesji preferuj\u0119 LiteSpeed z LSAPI, aby utrzyma\u0107 niskie warto\u015bci P95 i P99. Ci, kt\u00f3rzy ze wzgl\u0119du na cen\u0119 lub architektur\u0119 pozostaj\u0105 przy Apache\/Nginx, bardzo dobrze radz\u0105 sobie z dobrze dostrojonym FPM. We wszystkich przypadkach pomiary w realistycznych warunkach maj\u0105 wi\u0119ksze znaczenie ni\u017c testy por\u00f3wnawcze na pustym systemie.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/php_handler_vergleich_4729.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Konfiguracja praktyczna: buforowanie, sesje, limity czasowe<\/h2>\n\n<p>Stawiam na OPcache z hojn\u0105 <strong>Pami\u0119\u0107<\/strong>-Alokacja, aby rzadko dochodzi\u0142o do wypierania kodu bajtowego, i przenoszenie sesji w miar\u0119 mo\u017cliwo\u015bci do <strong>Redis<\/strong>, aby unikn\u0105\u0107 blokowania plik\u00f3w. Dzi\u0119ki temu skraca si\u0119 czas oczekiwania przy jednoczesnych logowaniach i spersonalizowanych stronach. W przypadku us\u0142ug zewn\u0119trznych definiuj\u0119 jasne limity czasu i wy\u0142\u0105czniki awaryjne, aby awarie nie blokowa\u0142y ca\u0142ego \u017c\u0105dania. Na poziomie aplikacji utrzymuj\u0119 TTL pami\u0119ci podr\u0119cznej na tyle kr\u00f3tkie, aby zachowa\u0107 aktualno\u015b\u0107, ale wystarczaj\u0105co d\u0142ugie, aby zapewni\u0107 wysoki wsp\u00f3\u0142czynnik trafie\u0144. Osoby, kt\u00f3re regularnie napotykaj\u0105 ograniczenia dotycz\u0105ce pracownik\u00f3w, znajd\u0105 tutaj wprowadzenie: <a href=\"https:\/\/webhosting.de\/pl\/php-workers-hosting-bottleneck-guide-balance\/\">W\u0142a\u015bciwe zr\u00f3wnowa\u017cenie PHP-Worker<\/a>.<\/p>\n\n<h2>Analiza koszt\u00f3w i korzy\u015bci oraz eksploatacja<\/h2>\n\n<p>Oceniam <strong>Koszty<\/strong> zmiany w zamian za wymierny zysk w zakresie op\u00f3\u017anie\u0144, przepustowo\u015bci i niezawodno\u015bci. Przej\u015bcie z FastCGI na PHP-FPM cz\u0119sto przynosi wi\u0119ksze korzy\u015bci ni\u017c zmiana numeru podwersji PHP, poniewa\u017c <strong>Proces<\/strong>-Zarz\u0105dzanie i buforowanie dzia\u0142aj\u0105 w spos\u00f3b ci\u0105g\u0142y. LSAPI jest szczeg\u00f3lnie op\u0142acalne, je\u015bli LiteSpeed jest ju\u017c w u\u017cyciu i obs\u0142uguje wielu jednoczesnych u\u017cytkownik\u00f3w. Osoby zmieniaj\u0105ce stos powinny uwa\u017cnie \u015bledzi\u0107 logi i metryki oraz przygotowa\u0107 \u015bcie\u017cki rollbacku. Najbardziej wiarygodne wyniki zapewnia planowana operacja A\/B trwaj\u0105ca kilka dni.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2025\/12\/php-handler-vergleich-5763.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Wsp\u00f3\u0142praca serwer\u00f3w internetowych: Apache-MPM, Nginx i Keep-Alive<\/h2>\n\n<p>W praktyce decyduj\u0105ce znaczenie ma nie tylko modu\u0142 obs\u0142ugi PHP, ale r\u00f3wnie\u017c tryb serwera WWW. mod_php wsp\u00f3\u0142pracuje z Apache w trybie <strong>prefork<\/strong>-MPM, ale blokuje wykorzystanie nowoczesnych modeli zdarze\u0144. Je\u015bli chcesz efektywnie obs\u0142ugiwa\u0107 HTTP\/2, d\u0142u\u017csze fazy Keep-Alive i tysi\u0105ce po\u0142\u0105cze\u0144, postaw na Apache. <strong>wydarzenie<\/strong> + PHP-FPM lub Nginx\/LiteSpeed jako frontend. Konsekwencja: liczba potrzebnych proces\u00f3w PHP nie zale\u017cy od liczby po\u0142\u0105cze\u0144 TCP, ale od faktycznej liczby <em>w tym samym czasie<\/em> bie\u017c\u0105cych \u017c\u0105da\u0144 PHP. Multipleksowanie HTTP\/2\/3 zmniejsza wi\u0119c obci\u0105\u017cenie serwera WWW zwi\u0105zane z nag\u0142\u00f3wkami, ale nie zmienia nic w przypadku zbyt ma\u0142ych pul PHP.<\/p>\n\n<p>Nginx zazwyczaj przekazuje \u017c\u0105dania do FPM za po\u015brednictwem FastCGI. Zwracam uwag\u0119 na kr\u00f3tkie <strong>read_timeout<\/strong>- oraz <strong>send_timeout<\/strong>Warto\u015bci na serwerze proxy, w przeciwnym razie pojawi\u0105 si\u0119 b\u0142\u0119dy 502\/504 przy zawieszonych upstreamach, mimo \u017ce PHP nadal dzia\u0142a. W \u015brodowiskach Apache ograniczam Keep-Alive tak, aby d\u0142ugie po\u0142\u0105czenia bezczynne nie zajmowa\u0142y puli w\u0105tk\u00f3w. LiteSpeed abstrahuje wiele z tych kwestii, ale w pe\u0142ni wykorzystuje swoj\u0105 przewag\u0119 dopiero dzi\u0119ki LSAPI.<\/p>\n\n<h2>OPcache, JIT i preloading: co naprawd\u0119 pomaga<\/h2>\n\n<p>OPcache jest obowi\u0105zkowy. W praktyce wymiaruj\u0119 <strong>opcache.memory_consumption<\/strong> du\u017ca (np. 192\u2013512 MB w zale\u017cno\u015bci od bazy kodu) i zwi\u0119kszam <strong>opcache.max_accelerated_files<\/strong>, aby nie dochodzi\u0142o do eksmisji. W przypadku kompilacji, kt\u00f3re rzadko s\u0105 wdra\u017cane, wy\u0142\u0105czam <strong>validate_timestamps<\/strong> lub ustaw wy\u017csz\u0105 warto\u015b\u0107 <strong>revalidate_freq<\/strong>, aby zaoszcz\u0119dzi\u0107 na wywo\u0142aniach systemowych. <strong>\u0141adowanie wst\u0119pne<\/strong> mo\u017ce przyspieszy\u0107 dzia\u0142anie framework\u00f3w, ale wykazuje swoje dzia\u0142anie przede wszystkim przy sp\u00f3jnej strukturze autoload. <strong>JIT<\/strong> PHP rzadko przynosi korzy\u015bci w przypadku klasycznych obci\u0105\u017ce\u0144 sieciowych, a nawet mo\u017ce zu\u017cywa\u0107 pami\u0119\u0107 RAM; w\u0142\u0105czam go tylko wtedy, gdy potwierdzaj\u0105 to testy por\u00f3wnawcze przeprowadzone w rzeczywistych warunkach.<\/p>\n\n<h2>Zarz\u0105dzanie kolejk\u0105 i przeciwci\u015bnieniem<\/h2>\n\n<p>Wi\u0119kszo\u015b\u0107 w\u0105skich garde\u0142 nie powstaje w procesorze, ale w <strong>kolejka<\/strong>. Je\u015bli liczba \u017c\u0105da\u0144 przekracza mo\u017cliwo\u015bci przetwarzania przez pracownik\u00f3w, kolejka ro\u015bnie, a op\u00f3\u017anienie P95\/P99 gwa\u0142townie wzrasta. Upewniam si\u0119, \u017ce <strong>pm.max_children<\/strong> jest wystarczaj\u0105co du\u017ca, aby poch\u0142on\u0105\u0107 typowe szczyty, ale wystarczaj\u0105co ma\u0142a, aby zachowa\u0107 rezerw\u0119 pami\u0119ci RAM. <strong>pm.max_requests<\/strong> Ustawiam umiarkowan\u0105 warto\u015b\u0107 (np. 500\u20132000), aby wycieki pami\u0119ci nie powodowa\u0142y d\u0142ugotrwa\u0142ego dzia\u0142ania. <strong>listen.backlog<\/strong> musi by\u0107 dostosowany do backlogu serwera WWW, w przeciwnym razie j\u0105dro przerwie po\u0142\u0105czenia pod obci\u0105\u017ceniem. Mierz\u0105c cz\u0119stotliwo\u015b\u0107 przybywania (\u017c\u0105dania na sekund\u0119) i \u015bredni czas obs\u0142ugi, mo\u017cna za pomoc\u0105 prostych oblicze\u0144 wydajno\u015bci oceni\u0107, od jakiej wsp\u00f3\u0142bie\u017cno\u015bci nast\u0119puje spadek op\u00f3\u017anienia.<\/p>\n\n<h2>Limity czasu, przesy\u0142anie plik\u00f3w i d\u0142ugie procesy<\/h2>\n\n<p>D\u0142ugie przesy\u0142anie plik\u00f3w lub wywo\u0142ania API blokuj\u0105 pracownik\u00f3w. Wyznaczam jasne granice: <strong>max_execution_time<\/strong> oraz <strong>request_terminate_timeout<\/strong> w FPM zapobiegaj\u0105 nieko\u0144cz\u0105cemu si\u0119 przetwarzaniu wadliwych \u017c\u0105da\u0144. Na poziomie proxy synchronizuj\u0119 <strong>proxy_read_timeout<\/strong>\/<strong>fastcgi_read_timeout<\/strong> z limitami FPM, aby nie dosz\u0142o do przedwczesnego 504. Du\u017ce pliki przesy\u0142am strumieniowo, ograniczam <strong>post_max_size<\/strong> oraz <strong>upload_max_filesize<\/strong> surowo i planuj\u0119 dedykowane punkty ko\u0144cowe, aby nie wp\u0142ywa\u0107 negatywnie na pozosta\u0142y ruch. W przypadku d\u0142ugotrwa\u0142ych zada\u0144 typu cron przenosz\u0119 prac\u0119 do <strong>Wskaz\u00f3wki<\/strong> lub zadania CLI, zamiast blokowa\u0107 pracownik\u00f3w front-endu na kilka minut.<\/p>\n\n<h2>Sesje i blokowanie w szczeg\u00f3\u0142ach<\/h2>\n\n<p>Sesje PHP s\u0105 domy\u015blnie <strong>blokuj\u0105cy<\/strong>. Drugie \u017c\u0105danie tego samego u\u017cytkownika czeka, a\u017c pierwsze zwolni sesj\u0119 \u2013 co jest fatalne dla WooCommerce, je\u015bli r\u00f3wnolegle dzia\u0142aj\u0105 wywo\u0142ania Ajax. Wcze\u015bnie ko\u0144cz\u0119 zapisy sesji za pomoc\u0105 <em>session_write_close()<\/em>, gdy nie s\u0105 ju\u017c potrzebne \u017cadne mutacje. Dzi\u0119ki Redis jako backendowi sesji zmniejsza si\u0119 op\u00f3\u017anienie I\/O, ale zasady blokowania pozostaj\u0105 wa\u017cne. Za load balancerami \u015bwiadomie wybieram mi\u0119dzy sesjami sticky (proste, mniej skalowalne) a wzorcami bezstanowymi z pami\u0119ci\u0105 podr\u0119czn\u0105 obiekt\u00f3w, aby skalowanie horyzontalne dzia\u0142a\u0142o prawid\u0142owo.<\/p>\n\n<h2>Monitorowanie i rozwi\u0105zywanie problem\u00f3w<\/h2>\n\n<p>Bez telemetrii tuning jest jak lot na \u015blepo. Aktywuj\u0119 status FPM i slowlogi dla ka\u017cdej puli, aby zobaczy\u0107 w\u0105skie gard\u0142a i zidentyfikowa\u0107 zapytania, kt\u00f3re rzucaj\u0105 si\u0119 w oczy.<\/p>\n\n<pre><code>; dla ka\u017cdego puli pm.status_path = \/status ping.path = \/ping ping.response = pong request_slowlog_timeout = 3s slowlog = \/var\/log\/php-fpm\/www-slow.log pm.max_requests = 1000\n<\/code><\/pre>\n\n<p>Je\u015bli pojawia si\u0119 b\u0142\u0105d 502\/504, najpierw sprawdzam: czy kolejka FPM jest pe\u0142na? Czy wyst\u0119puje kradzie\u017c CPU lub swap? Czy limit czasu serwera WWW jest zgodny z limitami FPM? Sprawd\u017a <em>smaps<\/em> na pracownika pokazuje rzeczywiste wykorzystanie RSS, podczas gdy <em>netstat<\/em>\/<em>ss<\/em> Wykrywa przepe\u0142nienia backlogu. W przypadku OPcache obserwuj\u0119 wsp\u00f3\u0142czynnik trafie\u0144 i liczb\u0119 ponownych walidacji, aby unikn\u0105\u0107 ewakuacji.<\/p>\n\n<h2>Kontenery, gniazda i limity zasob\u00f3w<\/h2>\n\n<p>W kontenerach najcz\u0119\u015bciej u\u017cywam <strong>TCP<\/strong> zamiast gniazd Unix mi\u0119dzy serwerem WWW a FPM, aby unikn\u0105\u0107 ogranicze\u0144 przestrzeni nazw i u\u0142atwi\u0107 r\u00f3wnowa\u017cenie obci\u0105\u017cenia. Wa\u017cna jest sp\u00f3jno\u015b\u0107 <strong>cgroup<\/strong>-Limity: Je\u015bli kontener ma tylko 1\u20132 GB pami\u0119ci RAM, pm.max_children musi by\u0107 odpowiednio mniejsze, w przeciwnym razie zadzia\u0142a OOM-killer. Limity procesora maj\u0105 du\u017cy wp\u0142yw na czas reakcji; planuj\u0119 rezerw\u0119 i weryfikuj\u0119 op\u00f3\u017anienie P95 poni\u017cej limitu. Kwestie NUMA i Core Affinity staj\u0105 si\u0119 istotne przy bardzo du\u017cym obci\u0105\u017ceniu, podczas gdy LSAPI w konfiguracjach LiteSpeed optymalizuje wiele z nich wewn\u0119trznie.<\/p>\n\n<h2>Wiele wersji PHP i rozszerze\u0144<\/h2>\n\n<p>Wielu host\u00f3w obs\u0142uguje r\u00f3wnolegle kilka wersji PHP. Izoluj\u0119 pule dla ka\u017cdej wersji i utrzymuj\u0119 <strong>Rozszerzenia<\/strong> smuk\u0142y. Ka\u017cdy dodatkowy modu\u0142 zwi\u0119ksza pami\u0119\u0107 RAM na pracownika i mo\u017ce wyd\u0142u\u017cy\u0107 czas uruchamiania. Konsekwentnie usuwam nieu\u017cywane rozszerzenia; cz\u0119sto przynosi to wi\u0119ksze korzy\u015bci ni\u017c niewielki wzrost pm.max_children. Podczas aktualizacji planuj\u0119 kr\u00f3tkie fazy rozgrzewki dla OPcache, aby po wdro\u017ceniu nie wszyscy u\u017cytkownicy do\u015bwiadczyli jednocze\u015bnie zimnego startu.<\/p>\n\n<h2>Dieta RAM i realistyczne planowanie wydajno\u015bci<\/h2>\n\n<p>Zamiast warto\u015bci rycza\u0142towych, ustalam \u015brednie i maksymalne zapotrzebowanie na pami\u0119\u0107 RAM na pracownika przy u\u017cyciu ruchu na \u017cywo. Na tej podstawie wyprowadzam: (dost\u0119pna pami\u0119\u0107 RAM \u2013 system\/baza danych\/pami\u0119\u0107 podr\u0119czna) \/ pami\u0119\u0107 RAM na pracownika = <strong>maksymalny<\/strong> rozs\u0105dna warto\u015b\u0107 pm.max_children. Dodatkowo zachowuj\u0119 rezerw\u0119 15\u201325 % na wypadek wzrostu obci\u0105\u017cenia, pami\u0119ci podr\u0119cznej j\u0105dra i nieprzewidzianych skok\u00f3w. Je\u015bli aplikacja sporadycznie zwi\u0119ksza zu\u017cycie pami\u0119ci, obni\u017cam limit lub zmniejszam pm.max_requests, aby cz\u0119\u015bciej recyklingowa\u0107 procesy.<\/p>\n\n<h2>Strategia testowania: powtarzalne obci\u0105\u017cenie i rzeczywiste wzorce<\/h2>\n\n<p>Korzystam z profili testowych, kt\u00f3re \u0142\u0105cz\u0105 zimne i ciep\u0142e pami\u0119ci podr\u0119czne, \u0142\u0105cz\u0105 GET\/POST i stopniowo zwi\u0119kszaj\u0105 wsp\u00f3\u0142bie\u017cno\u015b\u0107. Wa\u017cne: dopiero po aktywowaniu OPcache i realistycznych czasach my\u015blenia widz\u0119, czy system pozostaje stabilny pod wzgl\u0119dem zachowa\u0144 u\u017cytkownik\u00f3w. Ramp-up trwaj\u0105cy kilka minut zapobiega sztucznym szczytom podczas uruchamiania. Ocena koncentruje si\u0119 na TTFB i P95\/P99, a nie tylko na \u015brednim RTT lub czystym req\/s.<\/p>\n\n<h2>Przyk\u0142ady b\u0142\u0119d\u00f3w z praktyki<\/h2>\n\n<ul>\n  <li>Wiele 504 poni\u017cej warto\u015bci szczytowej: kolejka FPM pe\u0142na, zbyt ma\u0142y backlog, limity czasu na serwerze proxy kr\u00f3tsze ni\u017c w FPM.<\/li>\n  <li>Zacinanie si\u0119 podczas wdra\u017cania: wypieranie OPcache, brak rozgrzewki, zbyt ma\u0142a warto\u015b\u0107 opcache.memory_consumption.<\/li>\n  <li>Dobre warto\u015bci \u015brednie, s\u0142abe P99: zbyt wiele d\u0142ugich operacji (I\/O, zewn\u0119trzne API), brak przerywania obwodu.<\/li>\n  <li>Wysokie obci\u0105\u017cenie procesora, niskie req\/s: blokady sesji lub niebuforowane zapytania do bazy danych, kt\u00f3re ograniczaj\u0105 seryjno\u015b\u0107.<\/li>\n<\/ul>\n\n<h2>Bezpiecze\u0144stwo eksploatacji i przywracanie stanu poprzedniego<\/h2>\n\n<p>Ka\u017cda zmiana w handlerze lub parametrach puli jest wykonywana za pomoc\u0105 <strong>Flagi funkcji<\/strong> lub stopniowo. Obserwuj\u0119 logi b\u0142\u0119d\u00f3w i logi spowolnie\u0144, P95 i wska\u017anik b\u0142\u0119d\u00f3w oraz definiuj\u0119 jasny plan przywr\u00f3cenia stanu poprzedniego w przypadku spadku wska\u017anik\u00f3w. Druga pula z identyczn\u0105 wersj\u0105, ale innymi parametrami umo\u017cliwia szybk\u0105 zmian\u0119 A\/B bez przestoj\u00f3w. Przy pe\u0142nym obci\u0105\u017ceniu sprawdza si\u0119 kr\u00f3tka, automatyczna redukcja wsp\u00f3\u0142bie\u017cno\u015bci (backpressure) zamiast niekontrolowanego uruchamiania nowych pracownik\u00f3w.<\/p>\n\n<h2>Kr\u00f3tkie podsumowanie<\/h2>\n\n<p>W przypadku dynamicznych stron internetowych, z kt\u00f3rych korzysta jednocze\u015bnie wielu u\u017cytkownik\u00f3w, preferuj\u0119 <strong>LSAPI<\/strong> na LiteSpeed, podczas gdy PHP-FPM na Apache lub Nginx zapewnia najlepsz\u0105 <strong>Wszechstronny<\/strong> mod_php pozostaje specjalnym przypadkiem dla bardzo prostych projekt\u00f3w bez \u015bcis\u0142ej izolacji. Decyduj\u0105ce znaczenie maj\u0105 realistyczne testy z ciep\u0142ym OPcache, sensownymi limitami puli i czystym buforowaniem. Kto niezawodnie zmniejsza op\u00f3\u017anienia, mierzy P95\/P99 i reaguje najpierw na problemy zwi\u0105zane z ogonem, a nie na warto\u015bci \u015brednie. W ten spos\u00f3b aplikacja osi\u0105ga zauwa\u017calnie szybsze odpowiedzi i wi\u0119ksze rezerwy na szczytowy ruch.<\/p>","protected":false},"excerpt":{"rendered":"<p>Por\u00f3wnanie handler\u00f3w PHP pokazuje, jak PHP-FPM, LSAPI i CGI wp\u0142ywaj\u0105 na wydajno\u015b\u0107 hostingu internetowego. Optymalne wskaz\u00f3wki dotycz\u0105ce dostrajania hostingu w celu uzyskania maksymalnej pr\u0119dko\u015bci.<\/p>","protected":false},"author":1,"featured_media":16174,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_crdt_document":"","inline_featured_image":false,"footnotes":""},"categories":[780],"tags":[],"class_list":["post-16181","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration-anleitungen"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"2827","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":null,"_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"PHP Handler Vergleich","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"16174","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/16181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/comments?post=16181"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/16181\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media\/16174"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=16181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=16181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=16181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}