{"id":2948,"date":"2026-10-08T15:53:44","date_gmt":"2026-10-08T13:53:44","guid":{"rendered":"https:\/\/www.sprintdatacenter.pl\/blog\/?p=2948"},"modified":"2026-10-08T15:55:34","modified_gmt":"2026-10-08T13:55:34","slug":"serwery-dedykowane-z-macierzami-nvme-of-jak-zbudowac-ekstremalnie-wydajne-srodowisko-pod-bazy-danych-i-big-data","status":"publish","type":"post","link":"https:\/\/www.sprintdatacenter.pl\/blog\/serwery-dedykowane-z-macierzami-nvme-of-jak-zbudowac-ekstremalnie-wydajne-srodowisko-pod-bazy-danych-i-big-data\/","title":{"rendered":"Serwery dedykowane z macierzami NVMe-oF \u2013 jak zbudowa\u0107 ekstremalnie wydajne \u015brodowisko pod bazy danych i Big Data?"},"content":{"rendered":"\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Spis tre\u015bci:<\/h2><nav><ul><li class=\"\"><a href=\"#nv-me-o-f-charakterystyka-technologii-i-podstawy-jej-dzialania\">NVMe-oF \u2013 charakterystyka technologii i podstawy jej dzia\u0142ania<\/a><\/li><li class=\"\"><a href=\"#dlaczego-nv-me-o-f-dobrze-sprawdza-sie-w-bazach-danych-i-big-data\">Dlaczego NVMe-oF dobrze sprawdza si\u0119 w bazach danych i Big Data?<\/a><\/li><li class=\"\"><a href=\"#najwazniejsze-elementy-architektury-nv-me-o-f-serwery-pamiec-masowa-i-siec\">Najwa\u017cniejsze elementy architektury NVMe-oF \u2013 serwery, pami\u0119\u0107 masowa i sie\u0107<\/a><\/li><li class=\"\"><a href=\"#siec-pod-niskie-opoznienia-o-czym-trzeba-pamietac\">Sie\u0107 pod niskie op\u00f3\u017anienia \u2013 o czym trzeba pami\u0119ta\u0107?<\/a><\/li><li class=\"\"><a href=\"#dobor-dyskow-nv-me-i-ochrona-danych\">Dob\u00f3r dysk\u00f3w NVMe i ochrona danych<\/a><\/li><li class=\"\"><a href=\"#macierz-nv-me-o-f-czy-pamiec-masowa-definiowana-programowo-co-wybrac\">Macierz NVMe-oF czy pami\u0119\u0107 masowa definiowana programowo \u2013 co wybra\u0107?<\/a><\/li><li class=\"\"><a href=\"#konfiguracja-hostow-kontrolerow-i-przestrzeni-nazw\">Konfiguracja host\u00f3w, kontroler\u00f3w i przestrzeni nazw<\/a><\/li><li class=\"\"><a href=\"#wysoka-dostepnosc-systemu-i-test-przelaczania-po-awarii\">Wysoka dost\u0119pno\u015b\u0107 systemu i test prze\u0142\u0105czania po awarii<\/a><\/li><li class=\"\"><a href=\"#strojenie-wydajnosci-calego-srodowiska-it\">Strojenie wydajno\u015bci ca\u0142ego \u015brodowiska IT<\/a><\/li><li class=\"\"><a href=\"#testy-i-o-jak-znalezc-rzeczywiste-waskie-gardlo\">Testy I\/O \u2013 jak znale\u017a\u0107 rzeczywiste w\u0105skie gard\u0142o?<\/a><\/li><li class=\"\"><a href=\"#monitoring-i-telemetria-nv-me-o-f\">Monitoring i telemetria NVMe-oF<\/a><\/li><li class=\"\"><a href=\"#wlasna-serwerownia-kolokacja-czy-usluga-zarzadzana-ktore-rozwiazanie-wybrac\">W\u0142asna serwerownia, kolokacja czy us\u0142uga zarz\u0105dzana \u2013 kt\u00f3re rozwi\u0105zanie wybra\u0107?<\/a><\/li><li class=\"\"><a href=\"#faq-odpowiedzi-na-czesto-zadawane-pytania\">FAQ \u2013 odpowiedzi na cz\u0119sto zadawane pytania<\/a><ul><li class=\"\"><a href=\"#czy-nv-me-o-f-zastepuje-raid\">Czy NVMe-oF zast\u0119puje RAID?<\/a><\/li><li class=\"\"><a href=\"#czy-nv-me-o-f-ma-sens-przy-jednym-serwerze\">Czy NVMe-oF ma sens przy jednym serwerze?<\/a><\/li><li class=\"\"><a href=\"#czy-mozna-uruchomic-baze-danych-bezposrednio-na-przestrzeni-nv-me-o-f\">Czy mo\u017cna uruchomi\u0107 baz\u0119 danych bezpo\u015brednio na przestrzeni NVMe-oF?<\/a><\/li><li class=\"\"><a href=\"#czy-nv-me-o-f-nadaje-sie-do-kopii-zapasowych\">Czy NVMe-oF nadaje si\u0119 do kopii zapasowych?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Wydajne bazy danych, systemy analityczne czy platformy Big Data potrafi\u0105 doj\u015b\u0107 do granicy mo\u017cliwo\u015bci nie dlatego, \u017ce brakuje im procesora albo pami\u0119ci RAM w wykorzystywanym sprz\u0119cie IT. Cz\u0119sto problem pojawia si\u0119 znacznie ni\u017cej, w warstwie wej\u015bcia-wyj\u015bcia. Nawet bardzo szybka w\u0142asna lub zewn\u0119trzna <a href=\"https:\/\/www.sprintdatacenter.pl\/blog\/wlasna-serwerownia-czy-zewnetrzne-data-center\/\">serwerownia<\/a> niewiele pomo\u017ce, je\u015bli dane znajduj\u0105 si\u0119 na zbyt wolnej pami\u0119ci masowej albo komunikacja z ni\u0105 odbywa si\u0119 przez \u017ale zaprojektowan\u0105 sie\u0107. NVMe-oF, czyli NVMe over Fabrics pozwala oddzieli\u0107 warstw\u0119 obliczeniow\u0105 od pami\u0119ci masowej i udost\u0119pnia\u0107 zasoby na szybkich dyskach wielu serwerom za po\u015brednictwem sieci. Wykorzystywany do tego protok\u00f3\u0142 mo\u017ce dzia\u0142a\u0107 nie tylko przez lokalne PCIe, ale r\u00f3wnie\u017c z wykorzystaniem r\u00f3\u017cnych mechanizm\u00f3w transportowych \u2013 m.in. RDMA, TCP czy Fibre Channel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Z artyku\u0142u dowiesz si\u0119, jak zaprojektowa\u0107 \u015brodowisko NVMe-oF dla baz danych i Big Data, dobra\u0107 sie\u0107 oraz pami\u0119\u0107 masow\u0105, zapewni\u0107 wysok\u0105 dost\u0119pno\u015b\u0107 i sprawdzi\u0107, gdzie w rzeczywisto\u015bci znajduje si\u0119 w\u0105skie gard\u0142o.<\/p>\n\n\n\n<h2 id=\"nv-me-o-f-charakterystyka-technologii-i-podstawy-jej-dzialania\" class=\"wp-block-heading\">NVMe-oF \u2013 charakterystyka technologii i podstawy jej dzia\u0142ania<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W klasycznym serwerze dysk NVMe jest urz\u0105dzeniem lokalnym. System komunikuje si\u0119 z nim przez PCIe, dzi\u0119ki czemu aplikacja ma bezpo\u015bredni dost\u0119p do bardzo szybkiej pami\u0119ci masowej. NVMe-oF przenosi podobny model dzia\u0142ania poza pojedyncz\u0105 maszyn\u0119. Host wysy\u0142a polecenia NVMe do kontrolera znajduj\u0105cego si\u0119 w systemie pami\u0119ci masowej, a pomi\u0119dzy nimi znajduje si\u0119 sie\u0107 transportowa. Dzi\u0119ki temu mo\u017cna rozdzieli\u0107 serwery wykonuj\u0105ce obliczenia od tych przechowuj\u0105cych dane.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W praktyce daje to dwie wa\u017cne mo\u017cliwo\u015bci. Po pierwsze, mo\u017cna zwi\u0119ksza\u0107 moc obliczeniow\u0105 bez przebudowy pami\u0119ci masowej. Po drugie, gdy potrzebna jest wi\u0119ksza pojemno\u015b\u0107 lub wydajno\u015b\u0107 I\/O, da si\u0119 rozbudowa\u0107 warstw\u0119 dyskow\u0105 bez ingerencji w ka\u017cdy serwer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do wyboru s\u0105 r\u00f3\u017cne sposoby transportu. Jednym z nich jest NVMe\/TCP \u2013 wykorzystuje standardow\u0105 sie\u0107 IP i jest stosunkowo \u0142atwe do wdro\u017cenia. Drugi to NVMe\/RDMA, kt\u00f3ry pozwala ograniczy\u0107 narzut zwi\u0105zany z obs\u0142ug\u0105 transmisji, dlatego lepiej pasuje do \u015brodowisk, w kt\u00f3rych licz\u0105 si\u0119 bardzo ma\u0142e op\u00f3\u017anienia.<\/p>\n\n\n\n<h2 id=\"dlaczego-nv-me-o-f-dobrze-sprawdza-sie-w-bazach-danych-i-big-data\" class=\"wp-block-heading\">Dlaczego NVMe-oF dobrze sprawdza si\u0119 w bazach danych i Big Data?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bazy danych potrafi\u0105 generowa\u0107 ogromn\u0105 liczb\u0119 operacji wej\u015bcia-wyj\u015bcia. Ich charakter jest przy tym bardzo r\u00f3\u017cny. Jedna aplikacja wykonuje mn\u00f3stwo niewielkich, losowych operacji, inna przede wszystkim odczytuje du\u017ce bloki danych w spos\u00f3b sekwencyjny. NVMe-oF pozwala zbudowa\u0107 warstw\u0119 pami\u0119ci masowej dopasowan\u0105 do takich r\u00f3\u017cnych obci\u0105\u017ce\u0144 i udost\u0119pni\u0107 j\u0105 wielu serwerom.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W \u015brodowiskach Big Data dochodzi jeszcze jeden czynnik \u2013 r\u00f3wnoleg\u0142o\u015b\u0107. Dane s\u0105 cz\u0119sto przetwarzane jednocze\u015bnie przez wiele host\u00f3w, wi\u0119c pami\u0119\u0107 masowa musi obs\u0142u\u017cy\u0107 nie tylko du\u017c\u0105 przepustowo\u015b\u0107, ale r\u00f3wnie\u017c znaczn\u0105 liczb\u0119 operacji wykonywanych w jednym czasie. Nale\u017cy jednak podkre\u015bli\u0107, \u017ce samo NVMe-oF nie zapewni wysokiej wydajno\u015bci \u2013 zale\u017cy ona tak\u017ce od innych czynnik\u00f3w. Je\u015bli bowiem sie\u0107 b\u0119dzie mia\u0142a zbyt ma\u0142\u0105 przepustowo\u015b\u0107, du\u017ce op\u00f3\u017anienia albo przeci\u0105\u017cone prze\u0142\u0105czniki, szybkie no\u015bniki danych nie b\u0119d\u0105 w stanie w pe\u0142ni wykorzysta\u0107 swoich mo\u017cliwo\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego tak\u0105 infrastruktur\u0119 IT trzeba projektowa\u0107 kompleksowo, a wi\u0119c od aplikacji a\u017c do fizycznego no\u015bnika. Znaczenie ma ka\u017cdy tworz\u0105cy j\u0105 element.<\/p>\n\n\n\n<h2 id=\"najwazniejsze-elementy-architektury-nv-me-o-f-serwery-pamiec-masowa-i-siec\" class=\"wp-block-heading\">Najwa\u017cniejsze elementy architektury NVMe-oF \u2013 serwery, pami\u0119\u0107 masowa i sie\u0107<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Projekt takiej infrastruktury najlepiej podzieli\u0107 na trzy warstwy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>obliczeniow\u0105;<\/li>\n\n\n\n<li>pami\u0119ci masowej;<\/li>\n\n\n\n<li>sieciow\u0105.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Warstw\u0119 obliczeniow\u0105 tworz\u0105 <a href=\"https:\/\/www.sprintdatacenter.pl\/najtansze-serwery-dedykowane\/\">serwery dedykowane<\/a> uruchamiaj\u0105ce bazy danych, silniki analityczne czy zadania przetwarzania danych. Ich procesory i RAM trzeba dobra\u0107 do charakteru obci\u0105\u017cenia. W przypadku baz danych odpowiednio du\u017ca pami\u0119\u0107 operacyjna mo\u017ce zreszt\u0105 ograniczy\u0107 liczb\u0119 odwo\u0142a\u0144 do pami\u0119ci masowej, wi\u0119c nie zawsze ca\u0142e obci\u0105\u017cenie trzeba przenosi\u0107 na dyski.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Warstwa pami\u0119ci masowej to macierz NVMe-oF. Tutaj sama jej pojemno\u015b\u0107 jest tylko jednym z istotnych parametr\u00f3w. R\u00f3wnie wa\u017cne s\u0105 liczba operacji I\/O, przepustowo\u015b\u0107, op\u00f3\u017anienia oraz spos\u00f3b roz\u0142o\u017cenia obci\u0105\u017cenia pomi\u0119dzy kontrolery, porty i no\u015bniki.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W przypadku ostatniej warstwy, czyli sieci, naj\u0142atwiej jest pope\u0142ni\u0107 kosztowny b\u0142\u0105d. Nie wystarczy bowiem jedynie sprawdzi\u0107 przepustowo\u015bci pojedynczego portu i upewni\u0107 si\u0119, \u017ce spe\u0142nia oczekiwania. Trzeba policzy\u0107, jaki ruch mo\u017ce wygenerowa\u0107 ca\u0142a grupa serwer\u00f3w i czy prze\u0142\u0105czniki oraz po\u0142\u0105czenia mi\u0119dzy nimi s\u0105 w stanie go obs\u0142u\u017cy\u0107.<\/p>\n\n\n\n<h2 id=\"siec-pod-niskie-opoznienia-o-czym-trzeba-pamietac\" class=\"wp-block-heading\">Sie\u0107 pod niskie op\u00f3\u017anienia \u2013 o czym trzeba pami\u0119ta\u0107?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W NVMe-oF sie\u0107 jest cz\u0119\u015bci\u0105 systemu pami\u0119ci masowej. Nie mo\u017cna wi\u0119c potraktowa\u0107 jej jako zwyk\u0142ego po\u0142\u0105czenia pomi\u0119dzy serwerem a macierz\u0105. W \u015brodowisku nastawionym na niskie op\u00f3\u017anienia nale\u017cy ograniczy\u0107 liczb\u0119 niepotrzebnych przeskok\u00f3w pomi\u0119dzy urz\u0105dzeniami, zapewni\u0107 odpowiedni\u0105 przepustowo\u015b\u0107 i unika\u0107 wsp\u00f3\u0142dzielenia infrastruktury IT z ruchem, kt\u00f3rego nat\u0119\u017cenia nie da si\u0119 przewidzie\u0107.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">NVMe\/TCP jest dobrym wyborem, gdy wa\u017cna jest prostota i wykorzystanie standardowej infrastruktury Ethernet. NVMe\/RDMA ma wi\u0119cej sensu tam, gdzie liczy si\u0119 mo\u017cliwie ma\u0142y narzut komunikacyjny i bardzo niskie op\u00f3\u017anienia. Dobrym rozwi\u0105zaniem jest r\u00f3wnie\u017c rozdzielenie ruchu pami\u0119ci masowej od kopii zapasowych, zarz\u0105dzania serwerami czy komunikacji aplikacyjnej. Dzi\u0119ki temu chwilowy wzrost ruchu w jednym obszarze nie powinien od razu negatywnie odbija\u0107 si\u0119 na operacjach I\/O.<\/p>\n\n\n\n<h2 id=\"dobor-dyskow-nv-me-i-ochrona-danych\" class=\"wp-block-heading\">Dob\u00f3r dysk\u00f3w NVMe i ochrona danych<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Szybko\u015b\u0107 pojedynczego no\u015bnika danych to dopiero jeden z wielu innych parametr\u00f3w. W przypadku bazy danych znaczenie maj\u0105 mi\u0119dzy innymi op\u00f3\u017anienia przy losowym odczycie i zapisie, liczba operacji I\/O, trwa\u0142o\u015b\u0107 zapisu oraz zachowanie dysku podczas d\u0142ugotrwa\u0142ego obci\u0105\u017cenia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do \u015brodowisk produkcyjnych warto wybiera\u0107 no\u015bniki przeznaczone do pracy serwerowej i dopasowane pod wzgl\u0119dem wytrzyma\u0142o\u015bci zapisu do rzeczywistego obci\u0105\u017cenia. Nie mo\u017cna te\u017c zapomina\u0107 o temperaturze. Wysokowydajne NVMe potrafi\u0105 generowa\u0107 sporo ciep\u0142a, a ich przegrzewanie mo\u017ce prowadzi\u0107 do ograniczania wydajno\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ochrona danych to osobna kwestia. Takie technologie, jak RAID, replikacja i kopie zapasowe rozwi\u0105zuj\u0105 r\u00f3\u017cne zwi\u0105zane z tym problemy. Z tego powodu nie powinny by\u0107 traktowane jako wzajemne zamienniki. Odporno\u015b\u0107 macierzy na awari\u0119 jednego dysku nie zabezpiecza bowiem przed przypadkowym usuni\u0119ciem danych, b\u0142\u0119dem aplikacji czy ich zaszyfrowaniem w wyniku incydentu bezpiecze\u0144stwa.<\/p>\n\n\n\n<h2 id=\"macierz-nv-me-o-f-czy-pamiec-masowa-definiowana-programowo-co-wybrac\" class=\"wp-block-heading\">Macierz NVMe-oF czy pami\u0119\u0107 masowa definiowana programowo \u2013 co wybra\u0107?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">NVMe-oF mo\u017ce by\u0107 zbudowane na gotowej, wyspecjalizowanej macierzy albo na rozwi\u0105zaniu programowym, w kt\u00f3rym kilka serwer\u00f3w wyposa\u017conych w dyski NVMe tworzy rozproszon\u0105 warstw\u0119 pami\u0119ci masowej. Pierwsze z tych rozwi\u0105za\u0144 zwykle upraszcza wdro\u017cenie i p\u00f3\u017aniejsze zarz\u0105dzanie ca\u0142ym systemem. Drugie daje wi\u0119ksz\u0105 elastyczno\u015b\u0107 i pozwala wykorzysta\u0107 standardowe serwery, ale wymaga dok\u0142adnego doboru oprogramowania, replikacji, rozwi\u0105za\u0144 z zakresu ochrony danych i procedur odtwarzania po awarii.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli najwa\u017cniejsze s\u0105 przewidywalne op\u00f3\u017anienia dla kilku bardzo wymagaj\u0105cych baz danych, dedykowana macierz mo\u017ce by\u0107 \u0142atwiejsza do zoptymalizowania. Przy du\u017cym \u015brodowisku analitycznym, kt\u00f3re ma rosn\u0105\u0107 poziomo, rozwi\u0105zanie programowe powinno z kolei da\u0107 wi\u0119cej swobody. Dlatego najlepiej najpierw okre\u015bli\u0107 profil przewidywanego obci\u0105\u017cenia systemu, a dopiero potem wybiera\u0107 technologi\u0119, kt\u00f3ra zapewni najwi\u0119ksz\u0105 mo\u017cliw\u0105 wydajno\u015b\u0107.<\/p>\n\n\n\n<h2 id=\"konfiguracja-hostow-kontrolerow-i-przestrzeni-nazw\" class=\"wp-block-heading\">Konfiguracja host\u00f3w, kontroler\u00f3w i przestrzeni nazw<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W \u015brodowisku NVMe-oF host nawi\u0105zuje po\u0142\u0105czenie z kontrolerem pami\u0119ci masowej. Po stronie systemu operacyjnego pojawiaj\u0105 si\u0119 przestrzenie nazw, czyli udost\u0119pniane zasoby blokowe. Najlepiej zacz\u0105\u0107 konfiguracj\u0119 od niewielkiego \u015brodowiska testowego. Najpierw trzeba sprawdzi\u0107 pojedyncz\u0105 \u015bcie\u017ck\u0119 i poprawno\u015b\u0107 wykrywania przestrzeni nazw. Dopiero p\u00f3\u017aniej warto w\u0142\u0105cza\u0107 wiele \u015bcie\u017cek i automatyczne prze\u0142\u0105czanie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W systemie Linux obs\u0142ug\u0119 wielo\u015bcie\u017ckow\u0105 zapewnia natywny mechanizm NVMe multipath. Pozwala on po\u0142\u0105czy\u0107 wiele \u015bcie\u017cek prowadz\u0105cych do tej samej przestrzeni nazw w jedno urz\u0105dzenie blokowe. Dost\u0119pne s\u0105 r\u00f3\u017cne sposoby wyboru \u015bcie\u017cki, mi\u0119dzy innymi zale\u017cne od NUMA, kolejno\u015bci cyklicznej czy g\u0142\u0119boko\u015bci kolejki. Przed wdro\u017ceniem trzeba sprawdzi\u0107 zgodno\u015b\u0107 wersji j\u0105dra, sterownik\u00f3w, oprogramowania kontrolera i narz\u0119dzi zarz\u0105dzaj\u0105cych.<\/p>\n\n\n\n<h2 id=\"wysoka-dostepnosc-systemu-i-test-przelaczania-po-awarii\" class=\"wp-block-heading\">Wysoka dost\u0119pno\u015b\u0107 systemu i test prze\u0142\u0105czania po awarii<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wysoka dost\u0119pno\u015b\u0107 powinna obejmowa\u0107 ca\u0142y tor I\/O. Awaria dysku to tylko jeden ze scenariuszy. R\u00f3wnie dobrze problem mo\u017ce pojawi\u0107 si\u0119 w porcie kontrolera, karcie sieciowej, prze\u0142\u0105czniku albo na ca\u0142ej \u015bcie\u017cce transmisyjnej. Z tego powodu host powinien mie\u0107 wi\u0119cej ni\u017c jedn\u0105 niezale\u017cn\u0105 drog\u0119 do pami\u0119ci masowej. Po utracie jednej z nich ruch powinien zosta\u0107 prze\u0142\u0105czony na pozosta\u0142\u0105 bez zatrzymania aplikacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I w\u0142a\u015bnie ten mechanizm trzeba sprawdzi\u0107 w praktyce. Najlepiej w warunkach kontrolowanych wy\u0142\u0105cza\u0107 kolejne \u015bcie\u017cki i obserwowa\u0107, czy operacje I\/O nadal s\u0105 wykonywane. Po przywr\u00f3ceniu po\u0142\u0105czenia nale\u017cy natomiast sprawdzi\u0107, czy system wraca do prawid\u0142owego stanu.<\/p>\n\n\n\n<h2 id=\"strojenie-wydajnosci-calego-srodowiska-it\" class=\"wp-block-heading\">Strojenie wydajno\u015bci ca\u0142ego \u015brodowiska IT<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Na wydajno\u015b\u0107 dzia\u0142ania NVMe-oF wp\u0142yw maj\u0105 m.in. takie elementy, jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wykorzystywane aplikacje;<\/li>\n\n\n\n<li>rodzaj systemu operacyjnego;<\/li>\n\n\n\n<li>parametry procesora i pami\u0119ci RAM;<\/li>\n\n\n\n<li>mo\u017cliwo\u015bci sterownika, karty sieciowej, prze\u0142\u0105cznik\u00f3w, kontroler\u00f3w i samych no\u015bnik\u00f3w danych.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">W serwerach dedykowanych nale\u017cy zwr\u00f3ci\u0107 uwag\u0119 mi\u0119dzy innymi na przypisanie proces\u00f3w i przerwa\u0144 do odpowiednich rdzeni CPU oraz relacj\u0119 pomi\u0119dzy kart\u0105 sieciow\u0105 a pami\u0119ci\u0105 i procesorem w architekturze NUMA. \u0179le roz\u0142o\u017cone obci\u0105\u017cenie mo\u017ce zwi\u0119ksza\u0107 op\u00f3\u017anienia nawet wtedy, gdy sama sie\u0107 i pami\u0119\u0107 masowa maj\u0105 du\u017cy zapas wydajno\u015bci.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Znaczenie maj\u0105 te\u017c kolejki I\/O, konfiguracja systemu plik\u00f3w i parametry aplikacji. Najrozs\u0105dniej ustali\u0107 warto\u015bci bazowe, zmieni\u0107 jeden parametr i ponownie wykona\u0107 pomiar. Wtedy wiadomo, co faktycznie przynios\u0142o popraw\u0119.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W bazach danych warto r\u00f3wnie\u017c rozwa\u017cy\u0107 oddzielenie plik\u00f3w danych, dziennik\u00f3w transakcyjnych i obszar\u00f3w tymczasowych. Ka\u017cdy z tych element\u00f3w mo\u017ce generowa\u0107 zupe\u0142nie inny rodzaj ruchu.<\/p>\n\n\n\n<h2 id=\"testy-i-o-jak-znalezc-rzeczywiste-waskie-gardlo\" class=\"wp-block-heading\">Testy I\/O \u2013 jak znale\u017a\u0107 rzeczywiste w\u0105skie gard\u0142o?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Testy wydajno\u015bci powinny w mo\u017cliwie najwi\u0119kszym stopniu odwzorowywa\u0107 rzeczywiste obci\u0105\u017cenie systemu. Wynik kilku milion\u00f3w IOPS mo\u017ce wygl\u0105da\u0107 \u015bwietnie na wykresie, ale niewiele m\u00f3wi, je\u015bli aplikacja wykonuje g\u0142\u00f3wnie du\u017ce, sekwencyjne odczyty. W drug\u0105 stron\u0119 r\u00f3wnie\u017c to dzia\u0142a \u2013 wysoka przepustowo\u015b\u0107 nie gwarantuje dobrych wynik\u00f3w bazy danych wykonuj\u0105cej mn\u00f3stwo niewielkich operacji losowych.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego nale\u017cy mierzy\u0107 co najmniej liczb\u0119 operacji I\/O na sekund\u0119, op\u00f3\u017anienie i przepustowo\u015b\u0107. Dobrze jest analizowa\u0107 tak\u017ce rozk\u0142ad op\u00f3\u017anie\u0144. Bazowanie tylko na u\u015brednionych warto\u015bciach to du\u017cy b\u0142\u0105d. Takie dane cz\u0119sto maskuj\u0105 pojedyncze, ale bardzo wolne operacje, kt\u00f3re z punktu widzenia wydajno\u015bci dzia\u0142ania aplikacji mog\u0105 mie\u0107 du\u017ce znaczenie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pomiary najlepiej wykonywa\u0107 warstwowo. Najpierw sama pami\u0119\u0107 masowa, potem po\u0142\u0105czenie NVMe-oF, system plik\u00f3w, a na ko\u0144cu rzeczywista aplikacja. Jednocze\u015bnie trzeba obserwowa\u0107 CPU, kolejki I\/O, interfejsy sieciowe, b\u0142\u0119dy transmisji i obci\u0105\u017cenie kontroler\u00f3w.<\/p>\n\n\n\n<h2 id=\"monitoring-i-telemetria-nv-me-o-f\" class=\"wp-block-heading\">Monitoring i telemetria NVMe-oF<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Monitoring NVMe-oF nie powinien ogranicza\u0107 si\u0119 jedynie do sprawdzania, czy urz\u0105dzenie jest dost\u0119pne. Warto obserwowa\u0107 r\u00f3wnie\u017c stan \u015bcie\u017cek NVMe, op\u00f3\u017anienia I\/O, g\u0142\u0119boko\u015b\u0107 kolejek, b\u0142\u0119dy urz\u0105dze\u0144 i wykorzystanie interfejs\u00f3w sieciowych. Po stronie macierzy istotne b\u0119d\u0105 mi\u0119dzy innymi obci\u0105\u017cenie kontroler\u00f3w, stan no\u015bnik\u00f3w, temperatury i op\u00f3\u017anienia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Szczeg\u00f3lnie przydatne jest zestawianie danych z kilku warstw. Je\u015bli jednocze\u015bnie ro\u015bnie op\u00f3\u017anienie I\/O, wykorzystanie portu sieciowego i kolejka na kontrolerze, problem prawdopodobnie nie le\u017cy wy\u0142\u0105cznie po stronie dysku. Taka korelacja pozwala szybciej znale\u017a\u0107 przyczyn\u0119 pogorszenia wydajno\u015bci. Pami\u0119taj, \u017ce w \u015brodowiskach bazodanowych czas potrzebny na znalezienie przyczyny problemu potrafi by\u0107 r\u00f3wnie wa\u017cny, jak sama wydajno\u015b\u0107 sprz\u0119tu.<\/p>\n\n\n\n<h2 id=\"wlasna-serwerownia-kolokacja-czy-usluga-zarzadzana-ktore-rozwiazanie-wybrac\" class=\"wp-block-heading\">W\u0142asna serwerownia, kolokacja czy us\u0142uga zarz\u0105dzana \u2013 kt\u00f3re rozwi\u0105zanie wybra\u0107?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Budowa w\u0142asnego \u015brodowiska NVMe-oF wymaga odpowiedniej serwerowni, zasilania, ch\u0142odzenia, sieci oraz zespo\u0142u kompetentnych informatyk\u00f3w. Daje pe\u0142n\u0105 kontrol\u0119 nad infrastruktur\u0105 IT, ale wi\u0105\u017ce si\u0119 z du\u017cymi kosztami \u2013 zar\u00f3wno na etapie wdro\u017cenia, jak i p\u00f3\u017aniejszego utrzymania. W\u0142asna serwerownia sprawdzi si\u0119 przede wszystkim w organizacjach, kt\u00f3re potrzebuj\u0105 pe\u0142nej kontroli nad infrastruktur\u0105, maj\u0105 du\u017cy bud\u017cet oraz w\u0142asny zesp\u00f3\u0142 techniczny i mog\u0105 uzasadni\u0107 wysokie koszty utrzymania obiektu (np. w bran\u017cy finansowej jest to ochrona bardzo wra\u017cliwych danych).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Kolokacja pozwala zachowa\u0107 w\u0142asne serwery i pami\u0119\u0107 masow\u0105, a jednocze\u015bnie przenie\u015b\u0107 odpowiedzialno\u015b\u0107 za przygotowanie i utrzymanie infrastruktury na zewn\u0119trznego operatora. Ma to szczeg\u00f3lne znaczenie wtedy, gdy \u015brodowisko wymaga du\u017cej mocy, redundantnego zasilania i wydajnego ch\u0142odzenia, a budowa w\u0142asnej serwerowni by\u0142aby nieuzasadniona ekonomicznie. To rozwi\u0105zanie dobrze sprawdzi si\u0119 wtedy, gdy firma chce samodzielnie kontrolowa\u0107 serwery i \u015brodowisko NVMe-oF, ale nie chce inwestowa\u0107 we w\u0142asny obiekt, zasilanie, ch\u0142odzenie i zabezpieczenia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trzeci\u0105 opcj\u0105 jest model zarz\u0105dzany, w kt\u00f3rym cz\u0119\u015b\u0107 lub ca\u0142o\u015b\u0107 infrastruktury i administracji przejmuje dostawca. Upraszcza to obs\u0142ug\u0119, ale jednocze\u015bnie ogranicza mo\u017cliwo\u015bci samodzielnego konfigurowania \u015brodowiska. Us\u0142uga zarz\u0105dzana b\u0119dzie dobrym wyborem dla organizacji, kt\u00f3re chc\u0105 korzysta\u0107 z wydajnego \u015brodowiska NVMe-oF, ale nie maj\u0105 w\u0142asnych kompetencji lub zasob\u00f3w potrzebnych do jego codziennej administracji i optymalizacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W przypadku NVMe-oF szczeg\u00f3lnie wa\u017cna jest mo\u017cliwo\u015b\u0107 dobrania odpowiedniej infrastruktury serwerowej i sieciowej. Serwery dedykowane mog\u0105 stanowi\u0107 warstw\u0119 obliczeniow\u0105, a konfiguracje wyposa\u017cone w NVMe s\u0105 dobrym punktem wyj\u015bcia dla system\u00f3w wymagaj\u0105cych szybkiego dost\u0119pu do danych. Sprint Data Center oferuje taki sprz\u0119t przeznaczony do wymagaj\u0105cych zastosowa\u0144, w tym pracy z bazami danych i analiz\u0105 danych. Jako do\u015bwiadczone <a href=\"https:\/\/www.sprintdatacenter.pl\/\">datacenter<\/a> zajmujemy si\u0119 r\u00f3wnie\u017c kolokacj\u0105, oferuj\u0105c kompleksowy pakiet us\u0142ug zwi\u0105zanych z obs\u0142ug\u0105 infrastruktury IT \u2013 zapraszamy do kontaktu i zapoznania si\u0119 z ofert\u0105.<\/p>\n\n\n\n<h2 id=\"faq-odpowiedzi-na-czesto-zadawane-pytania\" class=\"wp-block-heading\">FAQ \u2013 odpowiedzi na cz\u0119sto zadawane pytania<\/h2>\n\n\n\n<h3 id=\"czy-nv-me-o-f-zastepuje-raid\" class=\"wp-block-heading\">Czy NVMe-oF zast\u0119puje RAID?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nie. NVMe-oF odpowiada za spos\u00f3b udost\u0119pniania pami\u0119ci masowej przez sie\u0107, natomiast RAID jest jednym z mechanizm\u00f3w ochrony przed awari\u0105 no\u015bnik\u00f3w. Obie warstwy mog\u0105 oczywi\u015bcie dzia\u0142a\u0107 r\u00f3wnocze\u015bnie.<\/p>\n\n\n\n<h3 id=\"czy-nv-me-o-f-ma-sens-przy-jednym-serwerze\" class=\"wp-block-heading\">Czy NVMe-oF ma sens przy jednym serwerze?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Technicznie tak, ale w praktyce najwi\u0119ksze korzy\u015bci pojawiaj\u0105 si\u0119 przy rozdzieleniu serwer\u00f3w obliczeniowych i pami\u0119ci masowej oraz przy korzystaniu z wielu host\u00f3w. Przy jednym serwerze lokalne NVMe mo\u017ce by\u0107 po prostu prostszym rozwi\u0105zaniem.<\/p>\n\n\n\n<h3 id=\"czy-mozna-uruchomic-baze-danych-bezposrednio-na-przestrzeni-nv-me-o-f\" class=\"wp-block-heading\">Czy mo\u017cna uruchomi\u0107 baz\u0119 danych bezpo\u015brednio na przestrzeni NVMe-oF?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tak. Udost\u0119pniona przestrze\u0144 mo\u017ce by\u0107 widoczna jako urz\u0105dzenie blokowe, ale trzeba sprawdzi\u0107 wymagania konkretnego silnika bazy danych, systemu plik\u00f3w i mechanizm\u00f3w wysokiej dost\u0119pno\u015bci.<\/p>\n\n\n\n<h3 id=\"czy-nv-me-o-f-nadaje-sie-do-kopii-zapasowych\" class=\"wp-block-heading\">Czy NVMe-oF nadaje si\u0119 do kopii zapasowych?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tak, ale sama wydajno\u015b\u0107 nie powinna by\u0107 tutaj g\u0142\u00f3wnym kryterium. R\u00f3wnie wa\u017cne s\u0105 pojemno\u015b\u0107, retencja, koszt przechowywania, odseparowanie kopii od \u015brodowiska produkcyjnego i czas potrzebny na odtworzenie danych.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Czy NVMe-oF zast\u0119puje RAID?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Nie. NVMe-oF odpowiada za spos\u00f3b udost\u0119pniania pami\u0119ci masowej przez sie\u0107, natomiast RAID jest jednym z mechanizm\u00f3w ochrony przed awari\u0105 no\u015bnik\u00f3w. Obie warstwy mog\u0105 oczywi\u015bcie dzia\u0142a\u0107 r\u00f3wnocze\u015bnie.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Czy NVMe-oF ma sens przy jednym serwerze?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Technicznie tak, ale w praktyce najwi\u0119ksze korzy\u015bci pojawiaj\u0105 si\u0119 przy rozdzieleniu serwer\u00f3w obliczeniowych i pami\u0119ci masowej oraz przy korzystaniu z wielu host\u00f3w. Przy jednym serwerze lokalne NVMe mo\u017ce by\u0107 po prostu prostszym rozwi\u0105zaniem.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Czy mo\u017cna uruchomi\u0107 baz\u0119 danych bezpo\u015brednio na przestrzeni NVMe-oF?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Tak. Udost\u0119pniona przestrze\u0144 mo\u017ce by\u0107 widoczna jako urz\u0105dzenie blokowe, ale trzeba sprawdzi\u0107 wymagania konkretnego silnika bazy danych, systemu plik\u00f3w i mechanizm\u00f3w wysokiej dost\u0119pno\u015bci.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Czy NVMe-oF nadaje si\u0119 do kopii zapasowych?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Tak, ale sama wydajno\u015b\u0107 nie powinna by\u0107 tutaj g\u0142\u00f3wnym kryterium. R\u00f3wnie wa\u017cne s\u0105 pojemno\u015b\u0107, retencja, koszt przechowywania, odseparowanie kopii od \u015brodowiska produkcyjnego i czas potrzebny na odtworzenie danych.\"\n    }\n  }]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>NVMe-oF pozwala po\u0142\u0105czy\u0107 serwery dedykowane z szybk\u0105 pami\u0119ci\u0105 masow\u0105 przez sie\u0107. Sprawd\u017a, jak przygotowa\u0107 takie \u015brodowisko IT dla baz danych i Big Data.<\/p>\n","protected":false},"author":3,"featured_media":2894,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[103],"tags":[],"class_list":["post-2948","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-serwer-dedykowany"],"_links":{"self":[{"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/posts\/2948","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/comments?post=2948"}],"version-history":[{"count":3,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/posts\/2948\/revisions"}],"predecessor-version":[{"id":2951,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/posts\/2948\/revisions\/2951"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/media\/2894"}],"wp:attachment":[{"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/media?parent=2948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/categories?post=2948"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sprintdatacenter.pl\/blog\/wp-json\/wp\/v2\/tags?post=2948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}