{"id":19334,"date":"2026-05-14T12:39:05","date_gmt":"2026-05-14T10:39:05","guid":{"rendered":"https:\/\/webhosting.de\/server-io-wait-analyse-iostat-vmstat-metrics-disk\/"},"modified":"2026-05-14T12:39:05","modified_gmt":"2026-05-14T10:39:05","slug":"server-io-wait-analyse-iostat-vmstat-metrics-disk","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/server-io-wait-analyse-iostat-vmstat-metrics-disk\/","title":{"rendered":"Analiza oczekuj\u0105cych operacji wej\u015bcia\/wyj\u015bcia na serwerze za pomoc\u0105 iostat i vmstat: Optymalizacja metryk serwer\u00f3w Linux"},"content":{"rendered":"<p>Pokazuj\u0119 krok po kroku, w jaki spos\u00f3b analiza oczekiwania I\/O za pomoc\u0105 iostat i vmstat uwidacznia w\u0105skie gard\u0142a i kt\u00f3re metryki serwera Linux licz\u0105 si\u0119 dla szybkich czas\u00f3w odpowiedzi. W ten spos\u00f3b ustalam jasne progi, interpretuj\u0119 typowe wzorce i sugeruj\u0119 konkretne \u015brodki optymalizacji. <strong>I\/O<\/strong> oraz <strong>CPU<\/strong> w.<\/p>\n\n<h2>Punkty centralne<\/h2>\n<ul>\n  <li><strong>iostat<\/strong> oraz <strong>vmstat<\/strong> zapewniaj\u0105 komplementarny widok obci\u0105\u017cenia procesora i pami\u0119ci masowej.<\/li>\n  <li><strong>wa<\/strong> przez 15-20% i <strong>%utile<\/strong> przez 80% wykazuj\u0105 w\u0105skie gard\u0142o we\/wy.<\/li>\n  <li><strong>czeka\u0107<\/strong> oraz <strong>avgqu-sz<\/strong> wyja\u015bni\u0107 op\u00f3\u017anienia i kolejki.<\/li>\n  <li><strong>mpstat<\/strong> wykrywa nier\u00f3wnomiernie roz\u0142o\u017cone obci\u0105\u017cenie na rdzenie procesora.<\/li>\n  <li><strong>Strojenie<\/strong> waha si\u0119 od <strong>MySQL<\/strong> do parametr\u00f3w j\u0105dra i pami\u0119ci masowej.<\/li>\n<\/ul>\n\n<h2>Co oznacza I\/O Wait na serwerach Linux?<\/h2>\n<p>W trybie oczekiwania I\/O procesor czeka bezczynnie, poniewa\u017c oczekuje na wolniejsz\u0105 pami\u0119\u0107 lub urz\u0105dzenia sieciowe, co jest znane jako <strong>wa<\/strong>-w narz\u0119dziach takich jak top czy vmstat. Oceniam ten odsetek jako czas, w kt\u00f3rym w\u0105tki blokuj\u0105 si\u0119, a \u017c\u0105dania s\u0105 wykonywane p\u00f3\u017aniej, co u\u017cytkownicy bezpo\u015brednio odczuwaj\u0105 jako spowolnienie. Warto\u015bci powy\u017cej 10-20% cz\u0119sto wskazuj\u0105 na w pe\u0142ni wykorzystany serwer. <strong>Przechowywanie<\/strong>-Podsystem, na przyk\u0142ad gdy dyski twarde, macierze RAID lub serwery NFS s\u0105 wykorzystywane do granic mo\u017cliwo\u015bci. W konfiguracjach hostingowych z bazami danych, niezindeksowane zapytania i szczyty zapisu powoduj\u0105 niepotrzebne czasy oczekiwania na dysku. <strong>Dysk<\/strong>. Je\u015bli chcesz od\u015bwie\u017cy\u0107 te poj\u0119cia, mo\u017cesz znale\u017a\u0107 podstawy na stronie <a href=\"https:\/\/webhosting.de\/pl\/io-wait-zrozumiec-pamiec-waskie-gardlo-usunac-optymalizacja\/\">Zrozumienie oczekiwania na operacje wej\u015bcia\/wyj\u015bcia<\/a>, zanim p\u00f3jd\u0119 na trening.<\/p>\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\/2026\/05\/linux-server-io-8592.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Szybki start: poprawne odczytywanie vmstat<\/h2>\n<p>Za pomoc\u0105 vmstat mog\u0119 sprawdzi\u0107 najwa\u017cniejsze z nich <strong>Linux<\/strong>-i rozpozna\u0107 pocz\u0105tkowe wzorce bez wi\u0119kszego wysi\u0142ku. Wywo\u0142anie vmstat 1 10 zapewnia dziesi\u0119\u0107 migawek, w kt\u00f3rych zwracam szczeg\u00f3ln\u0105 uwag\u0119 na kolumny wa (I\/O wait), bi\/bo (block I\/O) i si\/so (swap). Dla mnie wysokie warto\u015bci bo przy jednoczesnym wzro\u015bcie wa wskazuj\u0105 na wiele blokuj\u0105cych dost\u0119p\u00f3w do zapisu, co cz\u0119sto wskazuje na limity bufora lub wolne no\u015bniki. Je\u015bli si\/so pozostaje na poziomie zera, ale wa znacznie wzrasta, podejrzewam, \u017ce jest to czysty b\u0142\u0105d. <strong>Przechowywanie<\/strong>-limit. W hostach wielordzeniowych \u0142\u0105cz\u0119 vmstat z mpstat -P ALL 1, poniewa\u017c oczekiwanie na I\/O cz\u0119sto wp\u0142ywa tylko na pojedyncze rdzenie i dlatego wydaje si\u0119 bardziej nieszkodliwe ni\u017c jest w rzeczywisto\u015bci.<\/p>\n\n<h2>Obraz procesora: us\/sy\/st, kolejka uruchamiania i prze\u0142\u0105czanie kontekstu<\/h2>\n<p>Z vmstat i mpstat odczytuj\u0119 wi\u0119cej ni\u017c tylko <strong>wa<\/strong>Wysoki <strong>my<\/strong>\"Ci\u0119\u017ckie\" obliczeniowo aplikacje zosta\u0142y przedstawione w kolejnych sekcjach, <strong>sy<\/strong> wskazuje na prac\u0119 j\u0105dra\/sterownika, na przyk\u0142ad z intensywnymi <strong>I\/O<\/strong>. W \u015brodowiskach zwirtualizowanych zwracam uwag\u0119 na <strong>st<\/strong> (Steal): Wysokie warto\u015bci st oznaczaj\u0105, \u017ce maszyna wirtualna traci czas procesora, co sztucznie zawy\u017ca op\u00f3\u017anienia przy identycznym wzorcu I\/O. Por\u00f3wnuj\u0119 r\u00f3wnie\u017c kolejk\u0119 uruchamiania (<strong>r<\/strong> w vmstat) z liczb\u0105 procesor\u00f3w: Stale wy\u017csze r ni\u017c liczba procesor\u00f3w wskazuje na przeci\u0105\u017cenie procesora, a nie na <strong>Przechowywanie<\/strong>. Wiele zmian kontekstu (<strong>cs<\/strong>) w po\u0142\u0105czeniu z ma\u0142ymi synchronicznymi zapisami s\u0105 wska\u017anikiem gadatliwych wzorc\u00f3w I\/O. W ten spos\u00f3b unikam b\u0142\u0119dnego interpretowania braku procesora jako problemu I\/O.<\/p>\n\n<h2>Dog\u0142\u0119bne zrozumienie iostat: wa\u017cne metryki<\/h2>\n<p>iostat -x 1 daje mi rozszerzenie <strong>Dysk<\/strong>-metryki, kt\u00f3re jasno opisuj\u0105 op\u00f3\u017anienia, wykorzystanie i kolejki. Rozpoczynam pomiary dla szczyt\u00f3w obci\u0105\u017cenia i koreluj\u0119 %util, await, svctm i avgqu-sz, aby rozr\u00f3\u017cni\u0107 przyczyn\u0119 i skutek. Je\u015bli %util wzro\u015bnie do 90-100%, a await i avgqu-sz r\u00f3wnie\u017c wzrosn\u0105, widz\u0119 nasycenie <strong>P\u0142yta<\/strong> lub ograniczony wolumen. Je\u015bli await pokazuje wysokie warto\u015bci przy umiarkowanym %util, sprawdzam, czy nie ma zak\u0142\u00f3ce\u0144 spowodowanych buforowaniem, limitami kontrolera lub pojedynczymi du\u017cymi \u017c\u0105daniami. r\/s i w\/s wprowadzaj\u0105 cz\u0119stotliwo\u015b\u0107 do obrazu, podczas gdy MB_read i MB_wrtn wyja\u015bniaj\u0105 obj\u0119to\u015b\u0107, co zapewnia mi wa\u017cne warto\u015bci por\u00f3wnawcze dla dedykowanych konfiguracji SSD i NVMe.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/05\/linuxserveroptiokoni7553.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>NVMe, SATA i RAID: co oznaczaj\u0105 %util, oczekiwanie i g\u0142\u0119boko\u015b\u0107 kolejki<\/h2>\n<p>Dokonuj\u0119 \u015bcis\u0142ego rozr\u00f3\u017cnienia mi\u0119dzy typami medi\u00f3w: <strong>HDD<\/strong> pokaza\u0107 wy\u017cszy <strong>czeka\u0107<\/strong>-warto\u015bci nawet przy umiarkowanej wskaz\u00f3wce, poniewa\u017c dominuj\u0105 ruchy g\u0142owy. <strong>SSD<\/strong>\/NVMe dobrze skaluje si\u0119 z r\u00f3wnoleg\u0142o\u015bci\u0105, dlatego wy\u017csza warto\u015b\u0107 <strong>avgqu-sz<\/strong> mo\u017ce by\u0107 normalne, o ile <strong>czeka\u0107<\/strong> pozostaje w granicach limit\u00f3w. W przypadku NVMe z wieloma kolejkami zg\u0142osze\u0144\/zako\u0144cze\u0144, odczytuj\u0119 %util bardziej ostro\u017cnie: poszczeg\u00f3lne urz\u0105dzenia mog\u0105 by\u0107 ju\u017c na limicie przy 60-70%, je\u015bli aplikacja nie generuje wystarczaj\u0105cej r\u00f3wnoleg\u0142o\u015bci lub g\u0142\u0119boko\u015bci kolejki (<strong>nr_zapytania<\/strong>, <strong>queue_depth<\/strong>) jest zbyt ma\u0142a. W <strong>RAID<\/strong> Sprawdzam, czy rozproszone losowe wej\u015bcia\/wyj\u015bcia napotykaj\u0105 zbyt ma\u0142e rozmiary pask\u00f3w; nast\u0119pnie <strong>czeka\u0107<\/strong> oraz <strong>%utile<\/strong> nier\u00f3wnomiernie na dyskach cz\u0142onkowskich. Dlatego patrz\u0119 na iostat na urz\u0105dzenie cz\u0142onkowskie, a nie tylko na wolumin kompozytowy, aby uwidoczni\u0107 hotspoty. W przypadku warstw o strukturze dziennika (np. kopiowanie przy zapisie) spodziewam si\u0119 nieco wy\u017cszych op\u00f3\u017anie\u0144 zapisu, ale kompensuj\u0119 to powi\u0119kszonymi oknami zapisu zwrotnego lub wsadowaniem po stronie aplikacji.<\/p>\n\n<h2>Diagnostyczny przep\u0142yw pracy w przypadku d\u0142ugiego czasu oczekiwania<\/h2>\n<p>Ka\u017cd\u0105 analiz\u0119 rozpoczynam r\u00f3wnolegle z vmstat 1 i iostat -x 1, dzi\u0119ki czemu mog\u0119 synchronicznie zobaczy\u0107 stany procesora i status urz\u0105dzenia oraz przypisa\u0107 je do czasu. Nast\u0119pnie u\u017cywam mpstat -P ALL 1, aby sprawdzi\u0107, czy poszczeg\u00f3lne rdzenie dzia\u0142aj\u0105 wyj\u0105tkowo wysoko. <strong>wa<\/strong> co zapobiega nieprawid\u0142owej interpretacji warto\u015bci \u015brednich. Je\u015bli istniej\u0105 oznaki przyczyny, u\u017cywam pidstat -d lub iotop, aby zobaczy\u0107 dok\u0142adnie, kt\u00f3ry PID u\u017cywa najwi\u0119cej udzia\u0142\u00f3w I\/O. W \u015brodowiskach hostingowych z bazami danych najpierw rozr\u00f3\u017cniam mi\u0119dzy szczytami odczytu i zapisu, poniewa\u017c strategie zapisu zwrotnego i wzorce fsync generuj\u0105 bardzo r\u00f3\u017cne objawy i dlatego mog\u0105 by\u0107 wykorzystywane do ukierunkowanych dzia\u0142a\u0144. <strong>\u015arodki<\/strong> sprawiaj\u0105, \u017ce jest to mo\u017cliwe. W przypadku bardziej szczeg\u00f3\u0142owych pyta\u0144 dotycz\u0105cych pami\u0119ci masowej, przegl\u0105d taki jak ten na stronie <a href=\"https:\/\/webhosting.de\/pl\/io-waskie-gardlo-hosting-analiza-opoznien-optymalizacja-pamiec-masowa\/\">W\u0105skie gard\u0142o we\/wy w hostingu<\/a>, zanim zmodyfikuj\u0119 j\u0105dro lub system plik\u00f3w.<\/p>\n\n<h2>Wyra\u017ane rozgraniczenie mi\u0119dzy wirtualizacj\u0105 a kontenerami<\/h2>\n<p>W maszynach wirtualnych rozwa\u017cam <strong>wa<\/strong> wraz z <strong>st<\/strong> (Steal) i dodatkowo mierzy\u0107 na hypervisorze, poniewa\u017c tylko tam prawdziwe urz\u0105dzenia i <strong>Wskaz\u00f3wki<\/strong> s\u0105 widoczne. Agregacje pami\u0119ci masowej (thin provisioning, deduplikacja, migawki) przenosz\u0105 szczyty op\u00f3\u017anie\u0144 w d\u00f3\u0142 stosu - w maszynie wirtualnej ma to nast\u0119puj\u0105cy efekt <strong>czeka\u0107<\/strong> skacze, podczas gdy %util pozostaje niepozorny. W kontenerach ograniczam lub od\u0142\u0105czam <strong>I\/O<\/strong> z regu\u0142ami Cgroup (np. limitami IOPS\/przepustowo\u015bci) w celu <strong>Ha\u0142a\u015bliwi s\u0105siedzi<\/strong> aby je okie\u0142zna\u0107. Dokumentuj\u0119 limity dla ka\u017cdej us\u0142ugi, dzi\u0119ki czemu zmierzone warto\u015bci s\u0105 powtarzalne, a alarmy zachowuj\u0105 sw\u00f3j kontekst. Wa\u017cne: Wysoki <strong>wa<\/strong> w maszynie wirtualnej mog\u0105 by\u0107 wyzwalane przez kopie zapasowe, czyszczenie lub przebudow\u0119 ca\u0142ego hosta - koreluj\u0119 czasy z zadaniami hosta przed dotkni\u0119ciem aplikacji.<\/p>\n\n<h2>Limity, progi i kolejne kroki<\/h2>\n<p>U\u017cywam kilku jasnych prog\u00f3w, aby zdecydowa\u0107, czy istnieje prawdziwe w\u0105skie gard\u0142o i jakie dzia\u0142ania nale\u017cy podj\u0105\u0107, aby zauwa\u017calnie ustabilizowa\u0107 wydajno\u015b\u0107. Bior\u0119 pod uwag\u0119 rodzaj no\u015bnika, obci\u0105\u017cenie i wymagania dotycz\u0105ce op\u00f3\u017anie\u0144, poniewa\u017c te same liczby na HDD i NVMe maj\u0105 r\u00f3\u017cne implikacje. U\u017cywam poni\u017cszej tabeli jako szybkiego przewodnika, kt\u00f3rego u\u017cywam w moich playbookach. Dokonuj\u0119 pomiar\u00f3w kilka razy w ci\u0105gu minut i pod obci\u0105\u017ceniem, aby warto\u015bci odstaj\u0105ce nie generowa\u0142y fa\u0142szywych alarm\u00f3w i abym m\u00f3g\u0142 rozpozna\u0107 trendy. U\u017cywam tego jako podstawy do ukierunkowanych dzia\u0142a\u0144 zamiast odruchowej wymiany sprz\u0119tu lub <strong>Parametry<\/strong> masowo.<\/p>\n<table>\n  <thead>\n    <tr>\n      <th>Metryki<\/th>\n      <th>Pr\u00f3g<\/th>\n      <th>Interpretacja<\/th>\n      <th>Nast\u0119pne kroki<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td><strong>wa<\/strong> (vmstat)<\/td>\n      <td>&gt; 15-20%<\/td>\n      <td>Znaczny czas oczekiwania na wej\u015bcie\/wyj\u015bcie<\/td>\n      <td>Sprawd\u017a iostat; znajd\u017a przyczyn\u0119 za pomoc\u0105 pidstat\/iotop; przeanalizuj buforowanie i zapisy<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>%utile<\/strong> (iostat)<\/td>\n      <td>&gt; 80-90%<\/td>\n      <td>Wykorzystywane urz\u0105dzenie<\/td>\n      <td>korelacja await\/avgqu-sz; sprawdzenie g\u0142\u0119boko\u015bci kolejki, harmonogramu, RAID i SSD\/NVMe<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>czeka\u0107<\/strong> (ms)<\/td>\n      <td>&gt; 10-20 ms SSD, &gt; 30-50 ms HDD<\/td>\n      <td>Zwi\u0119kszone op\u00f3\u017anienie<\/td>\n      <td>Rozr\u00f3\u017cnianie mi\u0119dzy losowym a sekwencyjnym; dostosowywanie opcji systemu plik\u00f3w, zapisu zwrotnego, dziennika<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>avgqu-sz<\/strong><\/td>\n      <td>&gt; 1-2 trwa\u0142e<\/td>\n      <td>Kolejka ro\u015bnie<\/td>\n      <td>Ograniczenie\/zwi\u0119kszenie r\u00f3wnoleg\u0142o\u015bci; optymalizacja wzorca I\/O aplikacji; sprawdzenie limit\u00f3w kontrolera<\/td>\n    <\/tr>\n    <tr>\n      <td><strong>si\/so<\/strong> (vmstat)<\/td>\n      <td>&gt; 0 pod obci\u0105\u017ceniem<\/td>\n      <td>W\u0105skie gard\u0142o pami\u0119ci masowej<\/td>\n      <td>Zwi\u0119kszenie pami\u0119ci RAM; dostrojenie zapyta\u0144\/bufora podr\u0119cznego; sprawdzenie limit\u00f3w wymiany\/pami\u0119ci<\/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\/2026\/05\/server-metrics-optimization-8421.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Przyczyny w stosie: DB, system plik\u00f3w, wirtualizacja<\/h2>\n<p>W przypadku baz danych cz\u0119sto spotykam si\u0119 z nieindeksowanymi z\u0142\u0105czeniami, zbyt ma\u0142ymi buforami i nadmiernymi wywo\u0142aniami fsync. <strong>Przyczyny<\/strong> dla wysokich warto\u015bci oczekiwania. Sprawdzam plany zapyta\u0144, aktywuj\u0119 dzienniki dla powolnych instrukcji i obiektywnie dostosowuj\u0119 rozmiary, takie jak pula bufor\u00f3w InnoDB, rozmiary plik\u00f3w dziennika i otwartych plik\u00f3w. Na poziomie systemu plik\u00f3w sprawdzam opcje montowania, tryby dziennika i wyr\u00f3wnanie do paska RAID, poniewa\u017c niew\u0142a\u015bciwe kombinacje powoduj\u0105 eksplozj\u0119 czas\u00f3w oczekiwania. W konfiguracjach zwirtualizowanych nie polegam na pomiarach w samej maszynie wirtualnej, ale patrz\u0119 na hosta, poniewa\u017c to tam znajduj\u0105 si\u0119 rzeczywiste urz\u0105dzenia blokowe i pliki. <strong>Wskaz\u00f3wki<\/strong> staj\u0105 si\u0119 widoczne. Pozwala mi to wyra\u017anie oddzieli\u0107 efekty deduplikacji, thin provisioningu lub s\u0105siaduj\u0105cych maszyn wirtualnych od wzorc\u00f3w aplikacji.<\/p>\n\n<h2>System plik\u00f3w i opcje montowania w szczeg\u00f3\u0142ach<\/h2>\n<p>Oceniam systemy plik\u00f3w w \u015bwietle obci\u0105\u017cenia prac\u0105: <strong>ext4<\/strong> w trybie uporz\u0105dkowanym lub zapisu zwrotnego minimalizuje bariery dla intensywno\u015bci zapisu, podczas gdy <strong>XFS<\/strong> dzi\u0119ki projektowi dziennika dla r\u00f3wnoleg\u0142ych obci\u0105\u017ce\u0144. Opcje takie jak <strong>noatime<\/strong> lub <strong>relatime<\/strong> ograniczenie zapisu metadanych, <strong>czas leniuchowania<\/strong> przenosi aktualizacje znacznik\u00f3w czasu do zapisu zwrotnego w pakietach. W przypadku journalingu sprawdzam interwa\u0142y commit\u00f3w (np. commit=) i sprawdzam, czy wymuszone p\u0142ukania (bariery) nie s\u0105 zaostrzane przez polityki pami\u0119ci podr\u0119cznej kontrolera. W RAID zwracam uwag\u0119 na czyste wyr\u00f3wnanie do paska (Parted\/FDISK z pocz\u0105tkiem 1MiB), w przeciwnym razie <strong>czeka\u0107<\/strong> poprzez Read-Modify-Write nawet w przypadku rzekomo sekwencyjnych wzorc\u00f3w. W przypadku baz danych cz\u0119sto u\u017cywam strategii O_DIRECT lub bezpo\u015bredniego p\u0142ukania dziennika - ale tylko po pomiarze, poniewa\u017c pami\u0119\u0107 podr\u0119czna systemu plik\u00f3w mo\u017ce znacznie zmniejszy\u0107 obci\u0105\u017cenie odczytu, je\u015bli zestaw roboczy mie\u015bci si\u0119 w niej.<\/p>\n\n<h2>Tuning: od j\u0105dra do aplikacji<\/h2>\n<p>Zaczynam od prostych zwyci\u0119stw, na przyk\u0142ad indeksowania zapyta\u0144, zapisu wsadowego i rozs\u0105dnej konfiguracji puli po\u0142\u0105cze\u0144, zanim zaczn\u0119 od poziomu systemu. W przypadku zapisu zwrotnego dostosowuj\u0119 vm.dirty_background_ratio, vm.dirty_ratio i vm.dirty_expire_centisecs w kontrolowany spos\u00f3b, aby system zapisywa\u0142 w spos\u00f3b ci\u0105g\u0142y i generowa\u0142 mniej blokad bez zapychania pami\u0119ci. W przypadku urz\u0105dze\u0144 blokowych sprawdzam harmonogram I\/O, g\u0142\u0119boko\u015b\u0107 kolejki i wyprzedzenie odczytu, poniewa\u017c parametry te bezpo\u015brednio kszta\u0142tuj\u0105 op\u00f3\u017anienia i przepustowo\u015b\u0107. W przypadku kontroler\u00f3w RAID dostrajam rozmiar paska i polityk\u0119 pami\u0119ci podr\u0119cznej, natomiast w przypadku <strong>SSD<\/strong>\/NVMe dla firmware, TRIM i sp\u00f3jnych ustawie\u0144 overprovisioningu. Po ka\u017cdej zmianie sprawdzam za pomoc\u0105 vmstat i iostat przez kilka minut, czy oczekiwanie spada, a %util pozostaje stabilny, zanim wykonam nast\u0119pny krok.<\/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\/2026\/05\/TechOfficeServerAnalyse4102.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Przerwania, NUMA i powi\u0105zania<\/h2>\n<p>Monitoruj\u0119 obci\u0105\u017cenie IRQ i topologi\u0119 NUMA, poniewa\u017c oba te czynniki maj\u0105 zauwa\u017calny wp\u0142yw na op\u00f3\u017anienia. <strong>NVMe<\/strong>-Wi\u0105\u017c\u0119 przerwania z procesorami domeny NUMA kontrolera poprzez powinowactwo, dzi\u0119ki czemu \u015bcie\u017cki danych pozostaj\u0105 kr\u00f3tkie. Je\u015bli burza IRQ jest uruchomiona na rdzeniu, widz\u0119 wysokie <strong>sy<\/strong> a reszta procesor\u00f3w wydaje si\u0119 by\u0107 bezczynna; <strong>mpstat<\/strong> ujawnia to. Zezwalam na irqbalance tylko wtedy, gdy dystrybucja pasuje do sprz\u0119tu - w przeciwnym razie ustawiam okre\u015blone powinowactwa. Sprawdzam r\u00f3wnie\u017c, czy aplikacja i jej <strong>I\/O<\/strong> dzia\u0142aj\u0105 w tej samej strefie NUMA (lokalizacji pami\u0119ci masowej), poniewa\u017c dost\u0119py mi\u0119dzy gniazdami powoduj\u0105 czasy oczekiwania w <strong>czeka\u0107<\/strong> mo\u017cna zamaskowa\u0107.<\/p>\n\n<h2>Automatyzacja i wizualizacja pomiar\u00f3w<\/h2>\n<p>Aby mie\u0107 pewno\u015b\u0107, \u017ce rozpoznaj\u0119 trendy, automatyzuj\u0119 pomiary i integruj\u0119 iostat\/vmstat z narz\u0119dziami monitoruj\u0105cymi, kt\u00f3re mog\u0105 wy\u015bwietla\u0107 dane historyczne. <strong>Dane<\/strong> save. Alarmy ustawiam zachowawczo, na przyk\u0142ad od wa &gt; 15% w kilku odst\u0119pach czasu, w po\u0142\u0105czeniu z progami dla await i %util, aby unikn\u0105\u0107 fa\u0142szywych alarm\u00f3w. W przypadku og\u00f3lnych ekran\u00f3w metryk u\u017cywam pulpit\u00f3w nawigacyjnych, kt\u00f3re zestawiaj\u0105 metryki procesora, pami\u0119ci masowej, sieci i aplikacji, dzi\u0119ki czemu korelacje s\u0105 natychmiast widoczne. Je\u015bli potrzebujesz wprowadzenia do metryk, mo\u017cesz je znale\u017a\u0107 na stronie <a href=\"https:\/\/webhosting.de\/pl\/server-metrics-cpu-idle-load-wait-analyse-serverboost\/\">Metryki serwera<\/a> kompaktowy kontekst dla codziennej pracy. Wa\u017cny jest dla mnie powtarzalny proces: pomiar, sformu\u0142owanie hipotezy, wprowadzenie korekty, ponowny pomiar i analiza wynik\u00f3w. <strong>Wyniki<\/strong> dokument.<\/p>\n\n<h2>Powtarzalne testy obci\u0105\u017ceniowe z fio<\/h2>\n<p>Je\u015bli brakuje mi rzeczywistego obci\u0105\u017cenia lub chc\u0119 zweryfikowa\u0107 hipotezy, u\u017cywam kr\u00f3tkotrwa\u0142ych <strong>fio<\/strong>-testy. Symuluj\u0119 reprezentatywne wzorce (np. 4k losowego odczytu, 64k sekwencyjnego zapisu, mieszane profile 70\/30) i zmieniam je. <strong>iodepth<\/strong>, aby ustawi\u0107 okno sweet spot pomi\u0119dzy <strong>czeka\u0107<\/strong> i przepustowo\u015b\u0107. \u015aci\u015ble oddzielam \u015bcie\u017cki testowe od danych produkcyjnych i odnotowuj\u0119 warunki brzegowe (system plik\u00f3w, opcje montowania, scheduler, g\u0142\u0119boko\u015b\u0107 kolejki), dzi\u0119ki czemu mog\u0119 prawid\u0142owo kategoryzowa\u0107 wyniki. Po dostrojeniu, te same testy s\u0105 u\u017cywane jako kontrola regresji; tylko wtedy, gdy <strong>czeka\u0107<\/strong> oraz <strong>%utile<\/strong> konsekwentnie wygl\u0105daj\u0105 lepiej, wprowadzam zmiany na powierzchni.<\/p>\n\n<h2>Rozpoznawanie wzorc\u00f3w b\u0142\u0119d\u00f3w: typowe wzorce<\/h2>\n<p>Je\u015bli obserwuj\u0119 wysokie wa przy jednocze\u015bnie wysokim %utile i rosn\u0105cym avgqu-sz, wszystko przemawia za nasyceniem na <strong>Urz\u0105dzenie<\/strong>, tj. rzeczywiste limity fizyczne. Wysokie warto\u015bci oczekiwania przy umiarkowanym %util wskazuj\u0105 na osobliwo\u015bci kontrolera lub pami\u0119ci podr\u0119cznej, takie jak bariery, zapis przez lub sporadyczne p\u0142ukanie. Rosn\u0105ce warto\u015bci si\/so wraz ze spadkami w pami\u0119ci podr\u0119cznej wyra\u017anie wskazuj\u0105 na brak pami\u0119ci RAM, co sztucznie zawy\u017ca I\/O i wyd\u0142u\u017ca czas oczekiwania. Je\u015bli dysk pozostaje niepozorny, ale aplikacja tworzy du\u017ce, wymagaj\u0105ce synchronizacji zapisy, przenosz\u0119 prac\u0119 na zapis asynchroniczny, pipelining lub <strong>Partia<\/strong>-mechanizmy. W konfiguracjach NFS lub sieciowej pami\u0119ci masowej sprawdzam r\u00f3wnie\u017c op\u00f3\u017anienia, MTU, retransmisje i buforowanie po stronie serwera, poniewa\u017c czas sieci jest tutaj bezpo\u015brednio maskowany jako op\u00f3\u017anienie we \/ wy.<\/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\/2026\/05\/server_metrics_analysis_1423.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>NFS\/iSCSI i rozproszona pami\u0119\u0107 masowa<\/h2>\n<p>Na stronie <strong>NFS<\/strong> i iSCSI, rozr\u00f3\u017cniam urz\u0105dzenie i \u015bcie\u017ck\u0119 sieciow\u0105: <strong>iostat<\/strong> pokazuje tylko to, co widzi warstwa blokowa - rozpoznaj\u0119 r\u00f3wnie\u017c retransmisje, op\u00f3\u017anienia i problemy z oknami za pomoc\u0105 metryk sieciowych. Wysoki <strong>czeka\u0107<\/strong> z umiarkowanym <strong>%utile<\/strong> na wirtualnym urz\u0105dzeniu blokowym jest typowe, gdy sie\u0107 si\u0119 zatrzymuje lub pami\u0119\u0107 podr\u0119czna po stronie serwera si\u0119 och\u0142adza. W przypadku NFS sprawdzam opcje montowania (rsize\/wsize, proto, sync\/async) i po stronie serwera (w\u0105tki, zasady eksportu, cache), w przypadku iSCSI parametry sesji i kolejki. Planuj\u0119 okna konserwacji dla zada\u0144 serwerowych (scrubs, rebuilds, rebalancing), aby nie nasyci\u0142y wsp\u00f3\u0142dzielonej pami\u0119ci masowej w godzinach szczytu, a tym samym spowodowa\u0142y niedost\u0119pno\u015b\u0107 serwera. <strong>wa<\/strong> na wszystkich klientach.<\/p>\n\n<h2>Praktyczne przyk\u0142ady: trzy kr\u00f3tkie scenariusze<\/h2>\n<h3>Klaster blogowy z poradami dotycz\u0105cymi pisania<\/h3>\n<p>W najlepszym czasie komentarze i cache invalidate rosn\u0105, po czym await i avgqu-sz w iostat znacznie rosn\u0105, podczas gdy %util trzyma si\u0119 95%. Delikatnie zwi\u0119kszam parametry zapisu zwrotnego, optymalizuj\u0119 uniewa\u017cnianie pami\u0119ci podr\u0119cznej na poziomie \u015bcie\u017cki i zwi\u0119kszam bufor dziennika InnoDB, aby by\u0142o mniej ma\u0142ych zapis\u00f3w synchronizacji. Po tym, await spada mierzalnie, warto\u015bci bo pozostaj\u0105 wysokie, ale wa spada, co natychmiast skraca czas odpowiedzi. Jednocze\u015bnie zast\u0119puj\u0119 poszczeg\u00f3lne dyski twarde dyskami SSD dla dziennika, co dodatkowo odci\u0105\u017ca w\u0105skie gard\u0142o. Wzorzec pokazuje, jak <strong>Partia<\/strong>-Po\u0142\u0105czenie pisania i szybszego prowadzenia dziennika.<\/p>\n<h3>Sklep ze szczytami odczytu i indeksami wyszukiwania<\/h3>\n<p>Promocje generuj\u0105 du\u017ce obci\u0105\u017cenie odczytu, r\/s wzrasta, oczekiwanie pozostaje umiarkowane, ale aplikacja nadal wolno reaguje na nawigacj\u0119 po filtrach. Rozpoznaj\u0119 wiele niebuforowanych zapyta\u0144 bez odpowiednich indeks\u00f3w, kt\u00f3re przekraczaj\u0105 zestaw roboczy pami\u0119ci podr\u0119cznej systemu plik\u00f3w. Dzi\u0119ki ukierunkowanemu indeksowaniu i przepisywaniu zapyta\u0144, r\/s spada, trafienia s\u0105 cz\u0119\u015bciej w pami\u0119ci podr\u0119cznej, a iostat potwierdza ni\u017cszy MB_read przy tej samej przepustowo\u015bci. Jednocze\u015bnie nieznacznie zwi\u0119kszam read-ahead, aby wydajniej obs\u0142ugiwa\u0107 sekwencyjne skanowanie, co dodatkowo zmniejsza op\u00f3\u017anienia. W ten spos\u00f3b sprawdzam, czy <strong>Czytaj<\/strong>-wzorce prowadz\u0105 do ponownych trafie\u0144 pami\u0119ci podr\u0119cznej.<\/p>\n<h3>Host maszyny wirtualnej z \u201eha\u0142a\u015bliwym s\u0105siadem\u201c<\/h3>\n<p>W poszczeg\u00f3lnych maszynach wirtualnych top pokazuje wysoki wa, ale iostat w maszynie wirtualnej widzi tylko urz\u0105dzenia wirtualne z myl\u0105cym wykorzystaniem. Dokonuj\u0119 r\u00f3wnie\u017c pomiar\u00f3w w hiperwizorze, widz\u0119 nasycone rzeczywiste urz\u0105dzenia blokowe i identyfikuj\u0119 s\u0105siedni\u0105 maszyn\u0119 wirtualn\u0105 z agresywnymi kopiami zapasowymi jako przyczyn\u0105. Limity przepustowo\u015bci i zmodyfikowane okna kopii zapasowych stabilizuj\u0105 oczekiwanie i %util na ca\u0142ym ho\u015bcie. Nast\u0119pnie ponownie wykonuj\u0119 pomiary w maszynie wirtualnej i na ho\u015bcie, aby potwierdzi\u0107 i zapobiec efektowi po obu stronach. Potwierdza to, \u017ce rzeczywiste <strong>Urz\u0105dzenia<\/strong>-metryki zawsze pokazuj\u0105 prawd\u0119 u hosta.<\/p>\n\n<h2>Lista kontrolna dla nast\u0119pnego incydentu<\/h2>\n<p>Najpierw uruchamiam dzienniki i pomiary, aby nie utraci\u0107 \u017cadnych sygna\u0142\u00f3w, i utrzymuj\u0119 vmstat 1 i iostat -x 1 uruchomione przez kilka minut. Nast\u0119pnie koreluj\u0119 szczyty czasowe ze zdarzeniami aplikacji i zegarami systemowymi, po czym ustalam poszczeg\u00f3lne procesy za pomoc\u0105 pidstat -d i formu\u0142uj\u0119 hipotezy. Nast\u0119pnym krokiem jest sprawdzenie trafie\u0144 pami\u0119ci, swapu i cache, aby niedobory pami\u0119ci RAM nie zosta\u0142y b\u0142\u0119dnie rozpoznane jako <strong>Dysk<\/strong>-pojawia si\u0119 problem. Dopiero po wyizolowaniu przyczyny zmieniam dok\u0142adnie jedn\u0105 rzecz, rejestruj\u0119 ustawienia i oceniam wp\u0142yw na await, %util i wa. W ten spos\u00f3b utrzymuj\u0119 powtarzalno\u015b\u0107 analizy, ucz\u0119 si\u0119 z ka\u017cdego incydentu i skracam czas do <strong>Rozwi\u0105zanie<\/strong> wyra\u017anie.<\/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\/2026\/05\/serveranalyse-linuxmetrics-4581.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Cz\u0119ste b\u0142\u0119dne interpretacje i przeszkody<\/h2>\n<p>Nie daj\u0119 si\u0119 zwie\u015b\u0107 pojedynczym szczytom: Pojedyncze sekundy z wysokimi <strong>wa<\/strong> s\u0105 normalne, tylko utrzymuj\u0105ce si\u0119 p\u0142askowy\u017ce wskazuj\u0105 na strukturalne w\u0105skie gard\u0142o. <strong>%utile<\/strong> blisko 100% jest krytyczna tylko wtedy, gdy <strong>czeka\u0107<\/strong> w tym samym czasie - w przeciwnym razie urz\u0105dzenie jest po prostu zaj\u0119te. W\u0142. <strong>SSD<\/strong>\/NVMe jest wy\u017cszym <strong>avgqu-sz<\/strong> Cz\u0119sto jest to celowe, aby wykorzysta\u0107 wewn\u0119trzn\u0105 r\u00f3wnoleg\u0142o\u015b\u0107; d\u0142awi\u0119 tylko wtedy, gdy nie s\u0105 osi\u0105gane docelowe op\u00f3\u017anienia. Sprawdzam skalowanie cz\u0119stotliwo\u015bci procesora: Agresywne oszcz\u0119dzanie energii mo\u017ce wyd\u0142u\u017cy\u0107 czas reakcji i tak dalej. <strong>wa<\/strong> wydaj\u0105 si\u0119 pogarsza\u0107. I oddzielam TTFB aplikacji od op\u00f3\u017anienia pami\u0119ci masowej - sie\u0107, u\u015bciski d\u0142oni TLS i us\u0142ugi upstream mog\u0105 powodowa\u0107 podobne objawy bez <strong>iostat<\/strong> \u201ejest \u201cwinny\".<\/p>\n\n<h2>Kr\u00f3tkie podsumowanie dla administrator\u00f3w<\/h2>\n<p>Analiza I\/O wait za pomoc\u0105 iostat i vmstat dzia\u0142a szybko, je\u015bli odczytuj\u0119 wa, await, %util i avgqu-sz razem i odnosz\u0119 je do kontekstu obci\u0105\u017cenia. Najpierw identyfikuj\u0119, czy wyst\u0119puje rzeczywiste nasycenie urz\u0105dzenia, czy te\u017c wzorce pami\u0119ci i aplikacji powoduj\u0105 op\u00f3\u017anienia, a nast\u0119pnie wybieram odpowiedni\u0105 d\u017awigni\u0119. Niewielkie, ukierunkowane korekty zapyta\u0144, parametr\u00f3w zapisu zwrotnego, harmonogram\u00f3w lub g\u0142\u0119boko\u015bci kolejek cz\u0119sto maj\u0105 najwi\u0119kszy wp\u0142yw, zanim konieczne b\u0119d\u0105 kosztowne zmiany sprz\u0119towe. Pomiar, hipoteza, zmiana i ponowny pomiar pozostaj\u0105 moj\u0105 sta\u0142\u0105 sekwencj\u0105, dzi\u0119ki czemu decyzje pozostaj\u0105 zrozumia\u0142e i powtarzalne. W ten spos\u00f3b utrzymuj\u0119 <strong>Linux<\/strong>-Serwer jest responsywny i zapewnia zauwa\u017calnie lepsze wyniki <strong>Czasy reakcji<\/strong> pod obci\u0105\u017ceniem.<\/p>","protected":false},"excerpt":{"rendered":"<p>Analiza czasu oczekiwania we\/wy serwera za pomoc\u0105 iostat i vmstat: Optymalizacja wska\u017anik\u00f3w serwera linuksowego w celu uzyskania maksymalnej wydajno\u015bci hostingu.<\/p>","protected":false},"author":1,"featured_media":19327,"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-19334","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":"60","_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":"1","_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":"I\/O Wait Analyse","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":"19327","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/19334","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=19334"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/19334\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media\/19327"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=19334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=19334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=19334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}