Od czasu do czasu zdarza mi si臋, 偶e musz臋 zrestartowa膰 serwer, na kt贸rym siedzi blog xpil.eu. Najcz臋艣ciej wtedy, gdy pojawiaj膮 si臋 wa偶ne aktualizacje systemowe wymagaj膮ce restartu. Na przyk艂ad nowa wersja j膮dra.
Tak te偶 by艂o niedawno (a konkretnie: dzi艣 rano). Ubuntu wrzuci艂o nowe j膮dra do repozytori贸w i trzeba by艂o zrestartowa膰 serwer.
Z g艂upia frant postanowi艂em tym razem zmierzy膰 czas trwania takiego restartu. Wyniki poni偶ej.
Metoda, jakiej u偶y艂em, krok po kroku:
1. Na komputerze lokalnym w艂膮czy膰 ping -t xpil.eu
2. Na serwerze wykona膰 komend臋 reboot
3. Obserwowa膰 wyniki komendy ping.
Wyniki komendy ping wygl膮daj膮 tak:
Pinging xpil.eu [51.255.145.206] with 32 bytes of data: Reply from 51.255.145.206: bytes=32 time=48ms TTL=51 Reply from 51.255.145.206: bytes=32 time=31ms TTL=51 Reply from 51.255.145.206: bytes=32 time=31ms TTL=51 Reply from 51.255.145.206: bytes=32 time=29ms TTL=51 Reply from 51.255.145.206: bytes=32 time=31ms TTL=51 Reply from 51.255.145.206: bytes=32 time=32ms TTL=51 Reply from 51.255.145.206: bytes=32 time=66ms TTL=51 Reply from 51.255.145.206: bytes=32 time=29ms TTL=51 Request timed out. Request timed out. Reply from 51.255.145.206: bytes=32 time=30ms TTL=51 Reply from 51.255.145.206: bytes=32 time=30ms TTL=51 Reply from 51.255.145.206: bytes=32 time=31ms TTL=51 Reply from 51.255.145.206: bytes=32 time=33ms TTL=51 Ping statistics for 51.255.145.206: Packets: Sent = 14, Received = 12, Lost = 2 (14% loss), Approximate round trip times in milli-seconds: Minimum = 29ms, Maximum = 66ms, Average = 35ms
C贸偶 mo偶emy st膮d wywnioskowa膰?
Ano, po pierwsze wida膰 TTL=51. TTL m贸wi nam o ilo艣ci skok贸w przez Internet, jakie nale偶y wykona膰, aby dosta膰 si臋 z maszyny, na kt贸rej jest uruchomiona komenda ping, do maszyny, kt贸r膮 badamy. Pole TTL siedzi sobie w czwartej warstwie modelu OSI (czyli TCP lub UDP) i dzia艂a tak, 偶e jest zmniejszane o 1 przy ka偶dym skoku (czyli przej艣ciu przez ruter). 呕eby wi臋c pozna膰 ilo艣膰 skok贸w, nie wystarczy nam warto艣膰 51, ale trzeba te偶 dowiedzie膰 si臋, od jakiej warto艣ci zaczynamy. Na og贸艂 jest to jaka艣 pot臋ga dw贸jki - domy艣lnie inna dla Windows (stare - przed Win 98 - TTL = 32, nowe - po Win 98 - TTL = 128), inna dla Linuks贸w (TTL = 64). W przypadku serwera xpil.eu warto艣膰 pocz膮tkowa TTL wynosi 64, a wi臋c trzyna艣cie skok贸w od rutera do rutera, 偶eby dosta膰 si臋 do serwera xpil.eu oraz kolejnych trzyna艣cie, 偶eby wr贸ci膰. Razem dwadzie艣cia sze艣膰 skok贸w.
Po drugie wida膰, 偶e czas odpowiedzi mie艣ci si臋 w okolicach 35 milisekund, czyli 艣rednio nieca艂e p贸艂tora milisekundy na skok. Ca艂kiem niczego sobie.
Po trzecie jednak - nawa偶niejsze dzi艣 dla nas - wida膰 ile czasu zaj膮艂 restart serwera.
Do tego potrzeba nam wiedzie膰, 偶e komenda ping domy艣lnie wysy艂a dane co sekund臋. Mo偶na ten czas skr贸ci膰 lub wyd艂u偶y膰 dodatkow膮 opcj膮, ale akurat tutaj mamy co sekund臋.
Jak wida膰, po wys艂aniu o艣miu ping贸w zacz臋li艣my dostawa膰 b艂膮d "Request timed out.", oznaczaj膮cy, 偶e serwer nie odpowiada na pingi, czyli jest po艂o偶ony, martwy, g艂uchy, czy jak tam jeszcze si臋 to okre艣la.
Ile takich b艂臋d贸w dostali艣my?
Dwa. A wi臋c czas mi臋dzy wy艂膮czeniem serwera, a jego ponownym w艂膮czeniem, to co艣 pomi臋dzy jedn膮 a trzema sekundami.
Wyobra藕my sobie teraz, 偶e restartujemy nasz domowy komputer czy laptopa, czy nawet smartfona. Czy zmie艣cimy si臋 z t膮 operacj膮 w dw贸ch sekundach?
Dobrze b臋dzie, je偶eli za艂atwimy spraw臋 w dwadzie艣cia sekund... A na og贸艂 trzeba poczeka膰 minutk臋 albo i dwie.
Spraw臋 dodatkowo utrudnia fakt, 偶e po restarcie zosta艂o wczytane nowe j膮dro systemu, wi臋c nawet je偶eli dostawca serwera pr贸buje stosowa膰 jakie艣 "brudne" sztuczki, w tym przypadku ma raczej zwi膮zane r臋ce - maszyna musi uczciwie wykona膰 pe艂en restart.
Dwie sekundy. No, no... Jestem pod wra偶eniem.
Je偶eli chcesz do komentarza wstawi膰 kod, u偶yj sk艂adni:
[code]
tutaj wstaw sw贸j kod
[/code]
Je偶eli zrobisz liter贸wk臋 lub zmienisz zdanie, mo偶esz edytowa膰 komentarz po jego zatwierdzeniu.