Katastrofa w jądrze Linuxa. Trzykrotnie spadła wydajność Nginx i PostgreSQL

Katastrofa w jądrze Linuxa. Trzykrotnie spadła wydajność Nginx i PostgreSQL

Jedna linijka złego kodu może czasem wstrząsnąć całym systemem. Najnowszym tego przykładem jest wersja 6.15 jądra Linux, w której wykryto poważny błąd znacząco obniżający wydajność popularnych rozwiązań serwerowych, takich jak Nginx, PostgreSQL, ClickHouse, Memcached czy OpenFOAM. Problem odkryto przez przypadek, a jego skutki były tak drastyczne, że konieczna była natychmiastowa interwencja, zanim nowe jądro trafi do oficjalnej, stabilnej dystrybucji.

Błąd obecny w trzeciej wersji testowej jądra Linux 6.15 (RC3), datowanej na 20 kwietnia 2025 r., trzykrotnie spowalniał działanie serwera WWW Nginx i systemu bazodanowego PostgreSQL. Choć wydanie finalnej wersji Linuksa 6.15 planowane jest dopiero na maj lub początek czerwca, problem wzbudził ogromne poruszenie wśród deweloperów i użytkowników testujących najnowsze kompilacje.

Co ciekawe, błąd nie ujawniał się bezpośrednio – jego obecność zauważono dopiero podczas intensywnych testów wydajności Nginx uruchamianego na nowym jądrze. Ostatecznie źródłem regresji okazała się pozornie nieszkodliwa łatka autorstwa programisty jądra Aleksieja Starowojtowa.

"Trzykrotna regresja? Wow"

Starowojtow (najprawdopodobniej Rosjanin, choć jego narodowość jest ukryta, a adres mail nie zdradza żadnych informacji) przyznał, że nie był świadomy skutków swojej poprawki. Gdy poinformowano go o drastycznym spadku wydajności, odpowiedział zdziwieniem: „Trzykrotna regresja? Wow. Dzięki za wskazówkę. Przyjrzałem się poprawce i nic nie zobaczyłem. Zaangażuję innych specjalistów.”

Wkrótce okazało się, że skutki jego działania są znacznie szersze. Oprócz Nginx i PostgreSQL, problem dotyczył także systemu baz danych ClickHouse, oprogramowania inżynieryjnego OpenFOAM, a także popularnego narzędzia do buforowania danych w pamięci RAM — Memcached.

Ratunek z Niemiec

Z pomocą przyszedł Vlastimil Babka, inżynier pracujący dla niemieckiej firmy SUSE. Poświęcił on całą noc na analizę podsystemu slab oraz wpływu nowego kompilatora GCC, co doprowadziło go do trafnej diagnozy i przygotowania poprawki. Stworzone przez niego rozwiązanie zostało przetestowane przez szeroką społeczność deweloperów, którzy potwierdzili przywrócenie pełnej wydajności w PostgreSQL, ClickHouse i innych dotkniętych systemach.

Problem dociera aż do Torvaldsa

Starowojtow ostatecznie sam przyznał, że jego poprawka pogorszyła również działanie Netperf, narzędzia do testowania wydajności sieci. Zdesperowany, zwrócił się bezpośrednio do Linusa Torvaldsa, twórcy Linuksa, prosząc o pomoc. Nie wiadomo, czy Torvalds odpowiedział na prośbę, jednak jego wcześniejsze komentarze na temat rosyjskich programistów w projekcie Linux były mocno krytyczne. Nazwał ich „bandą rosyjskich trolli”.

W marcu 2025 roku Torvalds publicznie skrytykował też inną część jądra Linuksa 6.15 — technologię testowania hdrtest, służącą do weryfikacji działania sterowników zintegrowanych GPU Intela. Nazwał ją „kompletnym śmieciem” i stwierdził, że „musi umrzeć”, nie szczędząc przy tym wulgaryzmów.

Obserwuj nas w Google News

Pokaż / Dodaj komentarze do: Katastrofa w jądrze Linuxa. Trzykrotnie spadła wydajność Nginx i PostgreSQL

 0
Kolejny proponowany artykuł
Kolejny proponowany artykuł
Kolejny proponowany artykuł
Kolejny proponowany artykuł