{"id":20794,"date":"2026-08-19T11:49:58","date_gmt":"2026-08-19T09:49:58","guid":{"rendered":"https:\/\/webhosting.de\/mariadb-buffer-pool-sizing-performance-guidespeicher\/"},"modified":"2026-08-19T11:49:58","modified_gmt":"2026-08-19T09:49:58","slug":"mariadb-wytyczne-dotyczace-wydajnosci-zwiazane-z-doborem-wielkosci-puli-buforow","status":"publish","type":"post","link":"https:\/\/webhosting.de\/pl\/mariadb-buffer-pool-sizing-performance-guidespeicher\/","title":{"rendered":"Dopasowanie rozmiaru puli bufor\u00f3w MariaDB: praktyczny przewodnik i zasady og\u00f3lne dotycz\u0105ce puli bufor\u00f3w InnoDB"},"content":{"rendered":"<p>Poka\u017c\u0119, jak <strong>Pula buforowa<\/strong> praktycznie dobra\u0107 rozmiar w MariaDB tak, aby aktywny zestaw danych znajdowa\u0142 si\u0119 g\u0142\u00f3wnie w pami\u0119ci RAM, a operacje odczytu i zapisu praktycznie nie musia\u0142y czeka\u0107 na woln\u0105 pami\u0119\u0107 masow\u0105. Korzystam przy tym z jasnych zasad praktycznych dotycz\u0105cych puli bufor\u00f3w InnoDB, monitoruj\u0119 wsp\u00f3\u0142czynnik trafie\u0144 oraz operacje we\/wy i stopniowo dostosowuj\u0119 rozmiar, nie ograniczaj\u0105c przy tym wydajno\u015bci systemu operacyjnego ani us\u0142ug.<\/p>\n\n<h2>Punkty centralne<\/h2>\n<p>Poni\u017csze kluczowe informacje pozwol\u0105 ci szybko zorientowa\u0107 si\u0119 w sytuacji i podj\u0105\u0107 przemy\u015blane decyzje.<\/p>\n<ul>\n  <li><strong>Udzia\u0142 pami\u0119ci RAM<\/strong>: 60\u201380 serwer\u00f3w typu % na dedykowanych serwerach baz danych, 40\u201360 serwer\u00f3w typu % na wsp\u00f3\u0142dzielonych hostach<\/li>\n  <li><strong>Dane aktywne<\/strong>: 80\u201390 % danych \u201ehot\u201d powinno zmie\u015bci\u0107 si\u0119 w puli<\/li>\n  <li><strong>Wsp\u00f3\u0142czynnik trafie\u0144<\/strong>: Warto\u015b\u0107 docelowa od 99 %, w przeciwnym razie sprawdzi\u0107 wej\u015bcia\/wyj\u015bcia i op\u00f3\u017anienia<\/li>\n  <li><strong>Krok po kroku<\/strong> Dostosowanie: zweryfikowa\u0107 w 10\u201320 krokach %<\/li>\n  <li><strong>Widok og\u00f3lny<\/strong>: Pami\u0119\u0107 podr\u0119czna systemu operacyjnego, po\u0142\u0105czenia, logi i us\u0142ugi \u2013 nale\u017cy je uwzgl\u0119dni\u0107<\/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\/2026\/08\/mariadb-buffer-8321.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Rola puli bufor\u00f3w InnoDB<\/h2>\n<p>Pami\u0119\u0107 podr\u0119czna InnoDB przechowuje cz\u0119sto u\u017cywane strony danych i indeks\u00f3w w <strong>RAM<\/strong> a tym samym ogranicza kosztowne operacje odczytu z no\u015bnika danych. Im wi\u0119ksza jest ta pami\u0119\u0107, tym cz\u0119\u015bciej silnik obs\u0142uguje zapytania bezpo\u015brednio z <strong>Schowek<\/strong> a op\u00f3\u017anienia s\u0105 tym mniejsze. W przypadku instalacji produkcyjnych prawid\u0142owe ustawienie parametru `innodb_buffer_pool_size` nale\u017cy do najskuteczniejszych narz\u0119dzi, poniewa\u017c ma bezpo\u015bredni wp\u0142yw na \u015bcie\u017cki odczytu i zapisu. Dlatego te\u017c priorytetowo traktuj\u0119 bufor przed innymi parametrami, aby obci\u0105\u017cenia mia\u0142y do dyspozycji sta\u0142\u0105 ilo\u015b\u0107 danych roboczych. Osoby, kt\u00f3re chc\u0105 zag\u0142\u0119bi\u0107 si\u0119 w praktyczne kroki, znajd\u0105 w tym zwi\u0119z\u0142ym <a href=\"https:\/\/webhosting.de\/pl\/mysql-buffer-pool-optymalizacja-wydajnosci-bazy-danych\/\">Optymalizacja puli bufor\u00f3w<\/a> dodatkowe bod\u017ace do refleksji.<\/p>\n\n<h2>Zasada og\u00f3lna: odsetek dost\u0119pnej pami\u0119ci RAM<\/h2>\n<p>W pierwszej kolejno\u015bci dostosowuj\u0119 wielko\u015b\u0107 puli do dost\u0119pnych <strong>Pami\u0119\u0107 robocza<\/strong>, a nie na ca\u0142ej fizycznej pami\u0119ci RAM, je\u015bli dzia\u0142aj\u0105 inne us\u0142ugi. Na serwerze przeznaczonym wy\u0142\u0105cznie dla bazy danych zazwyczaj planuj\u0119 mi\u0119dzy 60 a 80 procent na innodb_buffer_pool_size, a na serwerze wielofunkcyjnym \u2013 mi\u0119dzy 40 a 60 procent. Taki zakres zapewnia wystarczaj\u0105c\u0105 przestrze\u0144 dla pami\u0119ci podr\u0119cznej systemu plik\u00f3w, po\u0142\u0105cze\u0144 i proces\u00f3w dzia\u0142aj\u0105cych w tle, nie ograniczaj\u0105c przy tym <strong>Bufor<\/strong> na niskim poziomie. Nast\u0119pnie sprawdzam w warunkach rzeczywistego obci\u0105\u017cenia, czy osi\u0105gni\u0119te zosta\u0142y docelowe warto\u015bci wska\u017anika trafie\u0144 i operacji wej\u015bcia\/wyj\u015bcia. Na pocz\u0105tek pomocne s\u0105 poni\u017csze warto\u015bci orientacyjne, kt\u00f3re nast\u0119pnie precyzyjnie dostosowuj\u0119 na podstawie rzeczywistych pomiar\u00f3w.<\/p>\n<table>\n  <thead>\n    <tr>\n      <th>Pami\u0119\u0107 RAM fizyczna<\/th>\n      <th>Typowa pula bufor\u00f3w (dedykowany serwer bazy danych)<\/th>\n      <th>Rezerwa na system operacyjny i us\u0142ugi<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>4 GB<\/td>\n      <td>2,0\u20132,8 GB<\/td>\n      <td>1,2\u20132,0 GB<\/td>\n    <\/tr>\n    <tr>\n      <td>8 GB<\/td>\n      <td>4,0\u20135,6 GB<\/td>\n      <td>2,4\u20134,0 GB<\/td>\n    <\/tr>\n    <tr>\n      <td>16 GB<\/td>\n      <td>10\u201312 GB<\/td>\n      <td>4\u20136 GB<\/td>\n    <\/tr>\n    <tr>\n      <td>32 GB<\/td>\n      <td>20\u201324 GB<\/td>\n      <td>8\u201312 GB<\/td>\n    <\/tr>\n    <tr>\n      <td>64 GB<\/td>\n      <td>40\u201348 GB<\/td>\n      <td>16\u201324 GB<\/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\/08\/mariadb_buffer_pool_guide_7384.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Aktywny rekord: Jak obliczy\u0107 rozmiar<\/h2>\n<p>Regu\u0142a RAM podaje warto\u015b\u0107 pocz\u0105tkow\u0105, jednak <strong>aktywny<\/strong> Zbi\u00f3r danych decyduje o docelowej wielko\u015bci. Najpierw okre\u015blam rozmiar najwa\u017cniejszych tabel wraz z indeksami i skupiam si\u0119 na naprawd\u0119 \u201egor\u0105cych\u201d strukturach. Nast\u0119pnie koreluj\u0119 najcz\u0119\u015bciej wyst\u0119puj\u0105ce zapytania z tymi tabelami, na przyk\u0142ad za pomoc\u0105 dziennika spowolnie\u0144 (Slow-Log) lub danych dotycz\u0105cych wydajno\u015bci. Je\u015bli 80\u201390 procent cz\u0119sto u\u017cywanych danych mie\u015bci si\u0119 w puli, silnik obs\u0142uguje wi\u0119kszo\u015b\u0107 operacji odczytu bez dodatkowego <strong>We\/wy p\u0142ytowe<\/strong>. Je\u015bli zasoby s\u0105 niewystarczaj\u0105ce, nadaj\u0119 priorytet najbardziej krytycznym tabelom lub stopniowo zwi\u0119kszam pul\u0119 zasob\u00f3w.<\/p>\n\n<h2>Pomiar wsp\u00f3\u0142czynnika trafie\u0144 i obci\u0105\u017cenia wej\u015bcia\/wyj\u015bcia<\/h2>\n<p>To, czy rozmiar jest odpowiedni, oceniam na podstawie <strong>Wsp\u00f3\u0142czynnik trafie\u0144<\/strong> puli bufor\u00f3w oraz wska\u017aniki operacji wej\u015bcia\/wyj\u015bcia podsystemu pami\u0119ci. Je\u015bli wska\u017anik ten utrzymuje si\u0119 na poziomie wyra\u017anie poni\u017cej 99 procent, sprawdzam jednocze\u015bnie liczb\u0119 operacji odczytu i zapisu na sekund\u0119 oraz czasy odpowiedzi poszczeg\u00f3lnych zapyta\u0144. Trwale wysoka przepustowo\u015b\u0107 operacji wej\u015bcia\/wyj\u015bcia przy umiarkowanej liczbie u\u017cytkownik\u00f3w cz\u0119sto wskazuje na zbyt ma\u0142\u0105 <strong>Bufor<\/strong> . W takim przypadku zwi\u0119kszam rozmiar puli, dop\u00f3ki dost\u0119pna jest jeszcze sprawna pami\u0119\u0107 RAM, a system nie zaczyna korzysta\u0107 z wymiany. Do metodycznego dostroju przydatny jest ten zwi\u0119z\u0142y <a href=\"https:\/\/webhosting.de\/pl\/optymalizacja-wspolczynnika-trafien-bufora-bazy-danych-przewodnik-po-strumieniu-danych\/\">Przewodnik po wska\u017aniku trafno\u015bci<\/a> z praktycznymi punktami kontrolnymi.<\/p>\n\n<h2>Szybkie ustalanie wska\u017anik\u00f3w: zapytania praktyczne<\/h2>\n<p>W praktyce obliczam wsp\u00f3\u0142czynnik trafie\u0144 bezpo\u015brednio na podstawie warto\u015bci statusu, co pozwala mi szybko oceni\u0107, czy pula jest zbyt ma\u0142a, czy te\u017c pe\u0142ne skanowanie\/nieefektywne plany obni\u017caj\u0105 liczb\u0119 trafie\u0144 w pami\u0119ci podr\u0119cznej.<\/p>\n<pre><code>-- Przybli\u017cony wska\u017anik trafie\u0144:\nSHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read_requests';\nSHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_reads';\n-- Wz\u00f3r: 1 - (Innodb_buffer_pool_reads \/ Innodb_buffer_pool_read_requests)<\/code><\/pre>\n<p>Ponadto nast\u0119puj\u0105ce warto\u015bci wskazuj\u0105 mi kierunek:<\/p>\n<ul>\n  <li>Innodb_pages_read\/Innodb_pages_written: Stosunek obci\u0105\u017cenia odczytu do zapisu<\/li>\n  <li>Innodb_buffer_pool_pages_dirty: liczba brudnych stron (Dirty Pages)<\/li>\n  <li>Innodb_checkpoint_age i czas trwania punktu kontrolnego (za pomoc\u0105 polecenia SHOW ENGINE INNODB STATUS)<\/li>\n<\/ul>\n<p>Gdy po\u0142\u0105cz\u0119 te dane z wynikami iostat\/vmstat, szybko zorientuj\u0119 si\u0119, czy w\u0105skim gard\u0142em jest procesor, pami\u0119\u0107 czy pami\u0119\u0107 masowa. Znaczny wzrost warto\u015bci Innodb_buffer_pool_reads przy stabilnej liczbie zapyta\u0144 jest dla mnie wyra\u017anym sygna\u0142em, \u017ce nale\u017cy powi\u0119kszy\u0107 pul\u0119 lub sprawdzi\u0107 plany zapyta\u0144.<\/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\/08\/mariadb-buffer-pool-sizing-guide-5121.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Praktyczne modyfikacje: krok po kroku<\/h2>\n<p>Zaczn\u0119 od ostro\u017cnego podej\u015bcia <strong>Ustawienie<\/strong> w zale\u017cno\u015bci od ilo\u015bci pami\u0119ci RAM i obserwuj\u0119 dzia\u0142anie systemu pod obci\u0105\u017ceniem. Nast\u0119pnie zbieram dane dotycz\u0105ce wska\u017anika trafie\u0144, operacji wej\u015bcia\/wyj\u015bcia, pami\u0119ci wymiany oraz zu\u017cycia procesora, aby zaplanowa\u0107 kolejne kroki. Nast\u0119pnie dostosowuj\u0119 warto\u015b\u0107 innodb_buffer_pool_size w krokach co 10\u201320 procent, zwracaj\u0105c uwag\u0119 na zgodno\u015b\u0107 z rozmiarem fragmentu (chunk) i maksymaln\u0105 liczb\u0105 fragment\u00f3w. Nowoczesne wersje MariaDB umo\u017cliwiaj\u0105 dynamiczne dostosowywanie, dzi\u0119ki czemu zmiany w oknach konserwacyjnych s\u0105 kr\u00f3tkie. Po ka\u017cdej zmianie por\u00f3wnuj\u0119 czasy odpowiedzi kluczowych zapyta\u0144, aby upewni\u0107 si\u0119, \u017ce korzy\u015bci wynikaj\u0105ce z wi\u0119kszego <strong>Skrytki<\/strong> pozostaje mierzalny.<\/p>\n\n<h2>Zmiana rozmiaru online w praktyce<\/h2>\n<p>W przypadku zmian wprowadzanych online post\u0119puj\u0119 w spos\u00f3b uporz\u0105dkowany, aby unikn\u0105\u0107 fragmentacji i niepotrzebnych reorganizacji:<\/p>\n<ol>\n  <li>Sprawdzam <strong>innodb_buffer_pool_chunk_size<\/strong> oraz <strong>innodb_buffer_pool_instances<\/strong>, aby nowa warto\u015b\u0107 docelowa mog\u0142a by\u0107 poprawnie przedstawiona dzi\u0119ki po\u0142\u0105czeniu rozmiar\u00f3w instancji i fragment\u00f3w.<\/li>\n  <li>Zwi\u0119kszam rozmiar za pomoc\u0105 <strong>SET GLOBAL innodb_buffer_pool_size = \u2026<\/strong> w umiarkowanym tempie i na bie\u017c\u0105co monitoruj zu\u017cycie pami\u0119ci RAM oraz ewentualne skoki op\u00f3\u017anie\u0144.<\/li>\n  <li>W mi\u0119dzyczasie monitoruj\u0119 liczb\u0119 brudnych stron, aktywno\u015b\u0107 modu\u0142u czyszczenia stron oraz czas trwania punkt\u00f3w kontrolnych, aby wykluczy\u0107 skutki uboczne.<\/li>\n  <li>Dokumentuj\u0119 warto\u015bci bazowe przed i po zmianie (wska\u017anik trafno\u015bci, 95. i 99. percentyl czas\u00f3w odpowiedzi), aby mo\u017cna by\u0142o obiektywnie oceni\u0107 skuteczno\u015b\u0107 tego dzia\u0142ania.<\/li>\n<\/ol>\n<p>W przypadku znacznego zwi\u0119kszenia skali planuj\u0119 dodatkowo kr\u00f3tki okres konserwacji, poniewa\u017c wewn\u0119trzna reorganizacja fragment\u00f3w mo\u017ce zaj\u0105\u0107 troch\u0119 czasu w zale\u017cno\u015bci od wersji, liczby instancji i profilu obci\u0105\u017cenia.<\/p>\n\n<h2>Ograniczenia i warunki techniczne<\/h2>\n<p>Bardzo ma\u0142e rozmiary puli nie przynosz\u0105 korzy\u015bci, poniewa\u017c nak\u0142ady administracyjne i liczba nieudanych pr\u00f3b dost\u0119pu staj\u0105 si\u0119 w\u00f3wczas nieproporcjonalnie wysokie; zbyt du\u017ce ustawienia natomiast ograniczaj\u0105 <strong>Zasoby systemu operacyjnego<\/strong> niepotrzebnie. Przy pewnych rozmiarach opcja `innodb_buffer_pool_instances` mo\u017ce zmniejszy\u0107 liczb\u0119 blokad, podczas gdy nowsze zalecenia sugeruj\u0105 z kolei mniejsz\u0105 liczb\u0119 instancji. Utrzymuj\u0119 liczb\u0119 instancji na jak najni\u017cszym poziomie i zwi\u0119kszam j\u0105 dopiero wtedy, gdy pojawiaj\u0105 si\u0119 rzeczywiste konflikty dost\u0119pu. Podczas zmiany rozmiaru w trybie online zwracam uwag\u0119 na <strong>Rozmiar fragmentu<\/strong>, aby nowa warto\u015b\u0107 zosta\u0142a poprawnie przej\u0119ta i nie dosz\u0142o do spadk\u00f3w wydajno\u015bci. Limity maksymalne dla poszczeg\u00f3lnych instancji ustalam w spos\u00f3b pragmatyczny, aby ograniczy\u0107 obci\u0105\u017cenie administracyjne i fragmentacj\u0119.<\/p>\n\n<h2>NUMA, HugePages i Swappiness<\/h2>\n<p>W przypadku wi\u0119kszych host\u00f3w bior\u0119 pod uwag\u0119 <strong>Topologia NUMA<\/strong>, aby pula bufor\u00f3w nie \u201ewyczerpa\u0142a si\u0119\u201c przypadkowo na jednym w\u0119\u017ale. Stosuj\u0119 r\u00f3wnomierny rozk\u0142ad pami\u0119ci (interleaved) lub celowo przypisuj\u0119 us\u0142ug\u0119 do konkretnego w\u0119z\u0142a, gdy obci\u0105\u017cenie jest silnie skoncentrowane lokalnie. <strong>Przejrzyste ogromne strony<\/strong> Wy\u0142\u0105czam t\u0119 opcj\u0119, aby uzyska\u0107 przewidywalne zachowanie op\u00f3\u017anie\u0144, i stosuj\u0119 statyczne strony HugePages tylko tam, gdzie przynosz\u0105 one wyra\u017ane korzy\u015bci. Parametr systemu Linux <strong>vm.swappiness<\/strong> Ustawiam t\u0119 warto\u015b\u0107 na konserwatywn\u0105 (nisk\u0105), aby j\u0105dro nie zwalnia\u0142o pami\u0119ci zbyt agresywnie, a pami\u0119\u0107 podr\u0119czna InnoDB mog\u0142a przechowywa\u0107 cz\u0119sto u\u017cywane dane w pami\u0119ci RAM.<\/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\/08\/buffer_pool_sizing_office_4729.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Og\u00f3lny widok magazynu<\/h2>\n<p>Dobry dob\u00f3r rozmiaru uwzgl\u0119dnia ca\u0142o\u015b\u0107 <strong>Bilans energetyczny<\/strong> maszyny, a nie tylko pami\u0119ci podr\u0119cznej InnoDB. Rezerwuj\u0119 miejsce na pami\u0119\u0107 podr\u0119czn\u0105 systemu plik\u00f3w, po\u0142\u0105czenia, logi, procesy dzia\u0142aj\u0105ce w tle oraz, w razie potrzeby, inne aplikacje. W przypadku obci\u0105\u017ce\u0144 opartych g\u0142\u00f3wnie na InnoDB bufor kluczy MyISAM pozostaje niewielki, aby nie zajmowa\u0107 niepotrzebnych zasob\u00f3w. W przypadku hostingu wsp\u00f3\u0142dzielonego stosuj\u0119 bardziej konserwatywne wyliczenia, aby z\u0142agodzi\u0107 szczyty obci\u0105\u017cenia spowodowane przez serwer WWW, PHP-FPM lub us\u0142ugi buforuj\u0105ce. Ta wsp\u00f3\u0142dzia\u0142aj\u0105ca konfiguracja zapobiega w\u0105skim gard\u0142om i przyczynia si\u0119 do r\u00f3wnomiernego <strong>Czasy reakcji<\/strong> z.<\/p>\n\n<h2>Kontenery i wirtualizacja<\/h2>\n<p>W kontenerach i maszynach wirtualnych zwracam uwag\u0119, aby widok proces\u00f3w by\u0142 skierowany na <strong>dost\u0119pna pami\u0119\u0107 RAM<\/strong> (cgroups\/Quota) odpowiada faktycznemu przydzia\u0142owi. W przeciwnym razie mechanizmy balloning, overcommit i twarde limity pami\u0119ci mog\u0105 prowadzi\u0107 do nieoczekiwanego swapowania lub zako\u0144czenia proces\u00f3w z powodu braku pami\u0119ci (OOM). Wymiarowanie puli bufor\u00f3w opieram na <em>gwarantowane<\/em> Pami\u0119\u0107 robocza w systemie-go\u015bciu oraz dodatkowo monitoruj stron\u0119 hosta, aby nie dosz\u0142o do ukrytych w\u0105skich garde\u0142.<\/p>\n\n<h2>Praktyczne przyk\u0142ady typowych scenariuszy<\/h2>\n<p>Na ma\u0142ym serwerze VPS o pojemno\u015bci 4 GB planuj\u0119 przeznaczy\u0107 oko\u0142o 2 GB na <strong>Bufor<\/strong> , aby serwer WWW, PHP i system operacyjny mia\u0142y wystarczaj\u0105c\u0105 ilo\u015b\u0107 pami\u0119ci i nie dochodzi\u0142o do korzystania z pami\u0119ci wymiany. \u015aredniej wielko\u015bci serwer baz danych z 16 GB pami\u0119ci powinien utrzymywa\u0107 poziom 10\u201312 GB, co pozwala aplikacjom intranetowym z du\u017c\u0105 liczb\u0105 kr\u00f3tkich transakcji osi\u0105ga\u0107 wysok\u0105 <strong>Wsp\u00f3\u0142czynnik trafie\u0144<\/strong> skorzysta\u0107. Serwer OLTP o pojemno\u015bci 64 GB cz\u0119sto osi\u0105ga poziom 40\u201348 GB, a ponadto sprawdzam, czy sensowne jest uruchomienie kilku instancji. We wszystkich przypadkach po kr\u00f3tkim czasie ponownie weryfikuj\u0119 t\u0119 zmian\u0119 i dostosowuj\u0119 j\u0105 do rzeczywistych wzorc\u00f3w u\u017cytkowania. W ten spos\u00f3b utrzymuj\u0119 zdrow\u0105 r\u00f3wnowag\u0119 mi\u0119dzy pami\u0119ci\u0105 a operacjami wej\u015bcia\/wyj\u015bcia, zamiast polega\u0107 wy\u0142\u0105cznie na statycznej warto\u015bci.<\/p>\n\n<h2>OLTP a raportowanie i zadania d\u0142ugotrwa\u0142e<\/h2>\n<p>R\u00f3\u017cne <strong>Wzorzec dost\u0119pu<\/strong> maj\u0105 du\u017cy wp\u0142yw na idealny rozmiar puli. Obci\u0105\u017cenia OLTP odnosz\u0105 szczeg\u00f3lne korzy\u015bci, gdy zestaw \u201ehot\u201c mie\u015bci si\u0119 w pami\u0119ci RAM, a kolejka LRU pozostaje stabilna. Z kolei zadania zwi\u0105zane z raportowaniem lub ETL, obejmuj\u0105ce rozleg\u0142e skanowanie, mog\u0105 \u201ewypiera\u0107\u201d zawarto\u015b\u0107 pami\u0119ci podr\u0119cznej. W tym celu stawiam na <strong>innodb_old_blocks_time<\/strong>, aby pe\u0142ne skanowanie nie nadpisywa\u0142o od razu najcz\u0119\u015bciej odwiedzanych stron na li\u015bcie Young-Sublist. Jednocze\u015bnie planuj\u0119 wykonanie obci\u0105\u017caj\u0105cych raport\u00f3w w godzinach poza szczytem lub przenosz\u0119 je na serwery replikacyjne, aby serwer g\u0142\u00f3wny m\u00f3g\u0142 utrzyma\u0107 docelowe warto\u015bci op\u00f3\u017anie\u0144.<\/p>\n\n<h2>Wzajemne oddzia\u0142ywanie z innymi parametrami<\/h2>\n<p>Basen daje najwi\u0119kszy efekt, ale inne\u2026 <strong>Parametry<\/strong> uzupe\u0142niaj\u0105 ten obraz. Zwracam uwag\u0119 na parametry innodb_log_file_size i innodb_log_buffer_size, aby \u015bcie\u017cki zapisu pozosta\u0142y wydajne, a punkty kontrolne nie pojawia\u0142y si\u0119 zbyt cz\u0119sto. Ustawienia dotycz\u0105ce po\u0142\u0105cze\u0144 i w\u0105tk\u00f3w dostosowuj\u0105 r\u00f3wnoleg\u0142o\u015b\u0107 do profilu obci\u0105\u017cenia. Strategie opr\u00f3\u017cniania i logik\u0119 tworzenia punkt\u00f3w kontrolnych dostosowuj\u0119 tak, aby szczyty obci\u0105\u017cenia mia\u0142y mniejszy wp\u0142yw na system. Dopiero gdy centralny <strong>Bufor<\/strong> je\u015bli praca jest solidna, te drobne poprawki naprawd\u0119 si\u0119 op\u0142acaj\u0105.<\/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\/08\/mariadb_bufferpool_guide_8423.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Dziennik ponownego wykonania, brudne strony i punkty kontrolne<\/h2>\n<p>Obci\u0105\u017cenie zapisem i rozmiar bufora s\u0105 \u015bci\u015ble powi\u0105zane z <strong>Pojemno\u015b\u0107 dziennika ponownego wykonania<\/strong> i jest powi\u0105zany z liczb\u0105 brudnych stron. Je\u015bli pula jest wi\u0119ksza, mo\u017ce powsta\u0107 wi\u0119cej brudnych stron; je\u015bli dzienniki ponownego wykonania s\u0105 zbyt ma\u0142e, InnoDB wymusza cz\u0119stsze tworzenie punkt\u00f3w kontrolnych i powoduje skoki obci\u0105\u017cenia. Dlatego uwa\u017cam, \u017ce <strong>innodb_log_file_size<\/strong> oraz dostosowuj\u0119 pul\u0119 log\u00f3w do szybko\u015bci zapisu i mierz\u0119 czas trwania punktu kontrolnego. Za pomoc\u0105 <strong>innodb_max_dirty_pages_pct<\/strong> (oraz jego odpowiednikiem \u201eLow-Watermark\u201d) ustalam, od kiedy ma nast\u0105pi\u0107 bardziej intensywne czyszczenie. Na dyskach SSD zazwyczaj wy\u0142\u0105czam optymalizacje przeznaczone dla dysk\u00f3w HDD, takie jak <strong>innodb_flush_neighbors<\/strong>, podczas gdy na obrotowych p\u0142ytach gram raczej ostro\u017cnie. Te <strong>innodb_flush_method<\/strong> Wybieram je odpowiednio do systemu plik\u00f3w i kontrolera, aby unikn\u0105\u0107 podw\u00f3jnego buforowania i zapewni\u0107 sta\u0142e op\u00f3\u017anienia.<\/p>\n\n<h2>Wp\u0142yw no\u015bnik\u00f3w danych: SSD a HDD<\/h2>\n<p>Im wolniejsza pami\u0119\u0107 masowa, tym wi\u0119kszy wp\u0142yw na op\u00f3\u017anienie ma du\u017ca pula bufor\u00f3w. W przypadku szybkich dysk\u00f3w SSD NVMe dob\u00f3r rozmiaru nadal ma znaczenie, ale r\u00f3\u017cnica mi\u0119dzy wska\u017anikami trafie\u0144 95 % a 99 % jest mniej odczuwalna ni\u017c w infrastrukturze opartej na dyskach HDD. Obserwuj\u0119 g\u0142\u0119boko\u015b\u0107 kolejki, percentyle op\u00f3\u017anienia oraz amplifikacj\u0119 zapisu. Je\u015bli \u015bcie\u017cki we\/wy dzia\u0142aj\u0105 ju\u017c na granicy swoich mo\u017cliwo\u015bci, zajmuj\u0119 si\u0119 kolejno nast\u0119puj\u0105cymi kwestiami: planami zapyta\u0144, indeksami, pul\u0105 bufor\u00f3w, dziennikami ponownego wykonania, a na ko\u0144cu pojemno\u015bci\u0105 pami\u0119ci masowej.<\/p>\n\n<h2>Monitorowanie w praktyce<\/h2>\n<p>Trwa\u0142e sukcesy wymagaj\u0105 niezawodnych <strong>Metryki<\/strong>. \u0141\u0105cz\u0119 dane ze schematu wydajno\u015bci z wska\u017anikami systemowymi, aby monitorowa\u0107 wsp\u00f3\u0142czynnik trafie\u0144, obci\u0105\u017cenie wej\u015bcia\/wyj\u015bcia, zu\u017cycie pami\u0119ci RAM oraz wykorzystanie pami\u0119ci wymiany. Wysokie obci\u0105\u017cenie odczytowe przy spadaj\u0105cej cz\u0119stotliwo\u015bci zazwyczaj oznacza, \u017ce brakuje miejsca lub plany zapyta\u0144 dzia\u0142aj\u0105 nieefektywnie. Aby szybko rozpocz\u0105\u0107 pomiary za pomoc\u0105 Performance Schema, korzystam z tego <a href=\"https:\/\/webhosting.de\/pl\/narzedzie-do-monitorowania-schematu-wydajnosci-mysql\/\">Narz\u0119dzie do monitorowania<\/a> jako punkt odniesienia. Istotna pozostaje korelacja: oceniam to wy\u0142\u0105cznie w kontek\u015bcie wsp\u00f3\u0142dzia\u0142ania trafie\u0144 w pami\u0119ci podr\u0119cznej, operacji wej\u015bcia\/wyj\u015bcia i czas\u00f3w wysy\u0142ania zapyta\u0144 <strong>Wynik<\/strong> poprawnie.<\/p>\n\n<h2>Rozgrzewka bufora i trwa\u0142o\u015b\u0107<\/h2>\n<p>Po ponownym uruchomieniu chc\u0119, aby faza rozgrzewania by\u0142a kr\u00f3tka. W\u0142\u0105czam to <strong>Zgrywanie\/wczytywanie<\/strong> puli bufor\u00f3w podczas wy\u0142\u0105czania i uruchamiania systemu, aby cz\u0119sto u\u017cywane strony szybciej wraca\u0142y do pami\u0119ci RAM. Dodatkowo celowo wst\u0119pnie \u0142aduj\u0119 tabele o du\u017cym obci\u0105\u017ceniu (np. za pomoc\u0105 skalibrowanych zapyta\u0144 SELECT), je\u015bli wzorzec jest bardzo stabilny. Kluczowe znaczenie ma przy tym, aby nie przeci\u0105\u017ca\u0107 systemu operacyjnego: monitoruj\u0119 pami\u0119\u0107 RAM, operacje wej\u015bcia\/wyj\u015bcia i obci\u0105\u017cenie procesora podczas zape\u0142niania pami\u0119ci podr\u0119cznej i nadaj\u0119 priorytet obci\u0105\u017ceniu produkcyjnemu przed agresywnym wst\u0119pnym \u0142adowaniem.<\/p>\n\n<h2>Kr\u00f3tka lista kontrolna na co dzie\u0144<\/h2>\n<ul>\n  <li>Ustawienie warto\u015bci pocz\u0105tkowej: 60\u201380 % pami\u0119ci RAM (dedykowanej) lub 40\u201360 % (wsp\u00f3\u0142dzielonej) \u2013 nale\u017cy pozostawi\u0107 odpowiedni zapas dla systemu operacyjnego.<\/li>\n  <li>Okre\u015blenie zestawu najcz\u0119\u015bciej u\u017cywanych zapyta\u0144: zsumowa\u0107 tabele i indeksy najcz\u0119\u015bciej u\u017cywanych zapyta\u0144, osi\u0105gaj\u0105c pokrycie na poziomie 80\u201390 %.<\/li>\n  <li>Pomiar wska\u017anika trafie\u0144: 1 \u2212 (liczba odczyt\u00f3w\/liczba \u017c\u0105da\u0144 odczytu) \u2265 99; d\u0105\u017cy\u0107 do osi\u0105gni\u0119cia stosunku %; sprawdzi\u0107 r\u00f3wnoleg\u0142e operacje we\/wy oraz czasy odpowiedzi.<\/li>\n  <li>Zwi\u0119ksza\u0107 o 10\u201320 krok\u00f3w %, po ka\u017cdym kroku sprawdzaj\u0105c op\u00f3\u017anienia, zanieczyszczone strony i punkty kontrolne.<\/li>\n  <li>Dostosowanie dziennik\u00f3w ponownego wykonania (redo-logs) i strategii opr\u00f3\u017cniania do obci\u0105\u017cenia zapisem oraz wyr\u00f3wnanie szczyt\u00f3w punkt\u00f3w kontrolnych.<\/li>\n  <li>Sprawdzi\u0107 NUMA\/Swappiness\/THP, przestrzega\u0107 limit\u00f3w kontener\u00f3w, \u015bci\u015ble unika\u0107 u\u017cywania pami\u0119ci wymiany.<\/li>\n  <li>Przyspieszenie rozgrzewania (Dump\/Load), \u201ewyeliminowanie zak\u0142\u00f3ce\u0144\u201c podczas pe\u0142nych skanowa\u0144 za pomoc\u0105 old_blocks_time.<\/li>\n  <li>Je\u015bli mimo du\u017cej puli nadal wyst\u0119puj\u0105 op\u00f3\u017anienia: nale\u017cy sprawdzi\u0107 plany\/indeksy\/blokady \u2013 nie wystarczy tylko zwi\u0119kszy\u0107 pami\u0119\u0107 RAM.<\/li>\n<\/ul>\n\n<h2>Kr\u00f3tkie podsumowanie<\/h2>\n<p>Wymiaruj\u0119 <strong>Bufor<\/strong> Najpierw sprawdzam dost\u0119pn\u0105 pami\u0119\u0107 RAM, a nast\u0119pnie por\u00f3wnuj\u0119 aktywne dane z rzeczywistym wykorzystaniem. Celem pozostaje, aby oko\u0142o 80\u201390 procent danych cz\u0119sto u\u017cywanych zmie\u015bci\u0142o si\u0119 w puli, a wska\u017anik trafie\u0144 wynosi\u0142 oko\u0142o 99 procent. Nast\u0119pnie dopracowuj\u0119 ustawienia w krokach co 10\u201320 procent, a\u017c operacje wej\u015bcia\/wyj\u015bcia i czasy odpowiedzi b\u0119d\u0105 odpowiednie. Konsekwentnie uwzgl\u0119dniam ograniczenia wynikaj\u0105ce z liczby instancji, rozmiar\u00f3w fragment\u00f3w i ca\u0142kowitego zapotrzebowania systemu, aby nie powsta\u0142y \u017cadne w\u0105skie gard\u0142a. To po\u0142\u0105czenie jasnych wytycznych, pomiar\u00f3w i ukierunkowanych dostosowa\u0144 gwarantuje, \u017ce Twoja instancja MariaDB b\u0119dzie dzia\u0142a\u0107 niezawodnie i przy niskim <strong>Op\u00f3\u017anienie<\/strong> dzia\u0142a.<\/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\/08\/buffer-pool-szenario-4937.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>","protected":false},"excerpt":{"rendered":"<p>Praktyczny przewodnik po wymiarowaniu puli bufor\u00f3w MariaDB zawieraj\u0105cy jasne zasady praktyczne i przyk\u0142adowe warto\u015bci. Dowiedz si\u0119, jak optymalnie dobra\u0107 rozmiar puli bufor\u00f3w InnoDB, aby znacznie poprawi\u0107 wydajno\u015b\u0107 bazy danych MariaDB. Skupiamy si\u0119 na wymiarowaniu puli bufor\u00f3w pod k\u0105tem stabilnych obci\u0105\u017ce\u0144.<\/p>","protected":false},"author":1,"featured_media":20787,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[781],"tags":[],"class_list":["post-20794","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-datenbanken-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":"133","_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":"Buffer Pool","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":"20787","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/20794","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=20794"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/posts\/20794\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media\/20787"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/media?parent=20794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/categories?post=20794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/pl\/wp-json\/wp\/v2\/tags?post=20794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}