Hlavní navigace

Šťoura: Nemocný Mobil server

1. 6. 1999
Doba čtení: 3 minuty

Sdílet

Jak jste si možná všimli, jeden z nejčtenějších technických serverů na českém Internetu, Mobil server, minulé pondělí (24.5.) víc nefungoval než fungoval. Na vině tentokrát nebylo připojení, ba ani železo, nýbrž software. Z blízkosti několika metrů to pozoroval Petr Tesařík.

Jak jste si možná všimli, jeden z nejčtenějších technických serverů na českém Internetu, Mobil server, minulé pondělí (24.5.) víc nefungoval než fungoval. Na vině tentokrát nebylo připojení, ba ani železo, nýbrž software. Z blízkosti několika metrů to pozoroval Petr Tesařík, ze vzdálenosti poněkud větší naši šťourové.

Pro některé lidi je to sice určité zklamání, ale ani tentokrát se nepodařilo Dianu (diana.mobil.cz, vulgo www.mobil.cz) hacknout… Systém se jenom poněkud zadýchal, čili, jak to pregnantně vyjádřil Patrick Zandl v úterním editorialu, po většinu dne se pohyboval rychlostí postřeleného šneka nebo vůbec, a nakonec technici museli zafirewallovat port 80 (a 90, což asi Patrick neví), aby se poněkud přemnožení Apačové už dále nemnožili.

I když ještě před tím zafirewallováním, někdy kolem 19:30, se Diana nakonec složila – pravděpodoně vlivem neúměrného zatížení systému – a bylo nutné ji natvrdo restartovat a posléze resuscitovat. Po tu dobu byla pochopitelně odpojena od sítě, jak si mj. všimli i naši pohotoví šťourové. První je od Tomáše Vokouna z 20:43.

  1   221 ms   164 ms   164 ms  dyn-gw.regionet.cz [194.228.8.65]
  2   167 ms   159 ms   149 ms  charlie.regionet.cz [194.228.8.62]
  3   207 ms   197 ms   192 ms  194.228.0.17
  4   310 ms   383 ms   251 ms  nix-core-1.tel.cz [194.228.254.222]
  5   294 ms   374 ms   373 ms  nix.gts.cz [194.50.100.40]
  6   237 ms   298 ms   354 ms  gw1-nix-2.gts.cz [194.213.32.17]
  7   250 ms   195 ms   236 ms  gw2-bb.gts.cz [195.39.3.34]
  8     *        *        *     Request timed out.

Druhý, téměř o hodinu mladší, od Michala Švigy je velmi podobný.

  1   131 ms   130 ms   120 ms  194.228.176.4
  2   120 ms   120 ms   131 ms  194.228.176.30
  3   120 ms   130 ms   120 ms  194.228.255.253
  4   140 ms   381 ms   120 ms  nix-core-2.tel.cz [194.228.254.226]
  5   211 ms     *      150 ms  nix.gts.cz [194.50.100.40]
  6   350 ms   181 ms   150 ms  gw1-nix-1.gts.cz [194.213.33.97]
  7   151 ms   160 ms     *     gw2-bb.gts.cz [195.39.3.34]
  8     *        *        *     Request timed out.

Z toho je také vidět, že připojení GTS bylo po celou dobu v pořádku. Ještě by se slušelo dodat, že ani Diana tou dobou nebyla opuštěna, nýbrž obklopena silným technickým zázemím (Fuf, Peťa Mitošinka a moje maličkost), který se ji snažil opět přivést k životu. ;)

Co se tedy stalo, že se jinak nadupaný stroj, kterým Diana se svými dvěma Pentii a spoustou paměti bezesporu je, dostal za hranice svých možností? Na počátku stál reklamní systém, postavený na MySQL a otázka výkonu, přesněji minimalizace tzv. system overhead. K MySQL serveru se klienti mohou připojovat dvěma způsoby – buď přes TCP/IP a nebo přes Unix-domain socket. Druhý způsob vyžaduje menší režii systému – pakety nemusí procházet přes TCP stack, není třeba je routovat, atd., nicméně z důvodů zatím neznámých nefungoval optimálně. Bylo proto nutné přistoupit k menšímu upgradu a to konkrétně v pátek před zmiňovaným pondělkem.

Leč, jak známo, ne každý upgrade znamená v důsledku zlepšení a ani nová verze nefungovala zrovna ideálně. S různými verzemi se poté experimentovalo v pátek i přes víkend, a v pondělí se konečně podařilo přeložit verzi, která vytvářela thready i Unixové sockety a navíc byla aktuální. Měla jedinou drobnou vadu. Při zátěži, jaké byl MySQL server podroben při pondělním provozu, se ukázala být značně nestabilní. Rekordem bylo 5 minut provozu a to věru není mnoho… :(

Michal Víteček (vulgo Fuf, jinak správce Diany a ten chudák, který musel kompilovat, instalovat a zkoušet všelijaké verze MySQL až do úplného vyčerpání) na tohle téma poznamenal k právě probíhající diskusi o SQL serveru v konferenci linux@linux.cz, že „MySQL vypadá, že je v pohodě, ale má spoustu problémů – hodně zmateně se chová při velkém loadu; má tendenci místo threadů, kterým vypršel wait_timeout, odstřelit sebe sama atd.“

Poučný je i závěr příběhu. Diana si nakonec nejnovější verzi, MySQL vnutit nenechala a k poklidnému běhu se vrátila až poté, kdy databáze byla kompletně reindexována a na místo nového úžasného MySQL serveru dosazena původní verze z doby „předčtvrteční“, která je sice zkompilovaná bez Linuxthreads a nevytváří Unix socket, zato nepadá. Rýpat se v něčem, co v principu docela funguje, se zkrátka nevyplácí…

cif - září

Petr Tesařík


Starší, související články:

Autor článku

Autor je spoluzakladatelem firmy Internet Info. V minulosti se zabýval testy poskytovatelů, v současné době studuje překladatelství a tlumočnictví na FFUK.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).