Соответственно, пинг считается едва ли не самым важным при выборе хостинг-провайдера. Это распространенное заблуждение.Диагностическая утилита ping была написана Майком Муусом в декабре
В наши дни программа ping входит в комплект большинства операционных систем. Маленькая утилита стала широко известна и теперь повсеместно используется не по назначению. Например, ее используют для оценки скорости доступа к серверу. Но ведь программа предназначена вовсе не для этого. Давайте, разберемся, что именно показывает ping.
Программа показывает суммарное время, которое затрачивает сигнальный пакет ICMP для того, чтобы достигнуть точки назначения и вернуться обратно в виде отклика. Казалось бы, пинг указывает на качество связи. Да, но с одной очень важной оговоркой. Нужно учитывать, что информация с веб-сервера загружается в браузер пользователя по HTTP, с использованием протокола TCP, а вовсе не сигнального протокола ICMP. Протокол TCP — это рабочий протокол, который реально используется различными приложениями. Именно время отклика по HTTP является действительно важной характеристикой, позволяющей судить о скорости работы сервера. Измерение сигнального ICMP-пинга в этом смысле совершенно не показательно. Дело в том, что пинг по HTTP и пинг по ICMP — это абсолютно разные показатели.
Рассмотрим реальные примеры, в которых для оценки ICMP-пинга использовалась обычная программа linux ping, а HTTP-ответы измерялись с помощью утилиты httping. Утилита httping отличается тем, что посылает не сигнальные, а реальные запросы HEAD, и уже по ним замеряет время отклика от сервера (страницы целиком не скачиваются). Это более объективный параметр, который позволяет реально оценить доступность сайта.
Измерения производились 3 ноября
GOOGLE.DE
root@debian [~] # ping google.de
PING google.de (72.14.221.104): 56 data bytes
64 bytes from 72.14.221.104: icmp_seq=0 ttl=243 time=21.993 ms
64 bytes from 72.14.221.104: icmp_seq=1 ttl=243 time=21.960 ms
64 bytes from 72.14.221.104: icmp_seq=2 ttl=243 time=21.997 ms
64 bytes from 72.14.221.104: icmp_seq=3 ttl=243 time=22.603 ms
--- google.de ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 21.960/22.138/22.603/0.269 ms
root@debian [~] # httping -g http://google.de
PING google.de:80 (http://google.de):
connected to google.de:80, seq=0 time=111.20 ms
connected to google.de:80, seq=1 time=103.57 ms
connected to google.de:80, seq=2 time=157.58 ms
connected to google.de:80, seq=3 time=134.55 ms
--- http://google.de ping statistics ---
4 connects, 4 ok, 0.00% failed
round-trip min/avg/max = 103.6/126.7/157.6 ms
YAHOO.DE
root@debian [~] # ping yahoo.de
PING yahoo.de (217.12.3.11): 56 data bytes
64 bytes from 217.12.3.11: icmp_seq=0 ttl=241 time=30.079 ms
64 bytes from 217.12.3.11: icmp_seq=1 ttl=241 time=32.061 ms
64 bytes from 217.12.3.11: icmp_seq=2 ttl=241 time=31.993 ms
64 bytes from 217.12.3.11: icmp_seq=3 ttl=241 time=42.888 ms
--- yahoo.de ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 30.079/34.255/42.888/5.047 ms
root@debian [~] # httping -g http://yahoo.de
PING yahoo.de:80 (http://yahoo.de):
connected to yahoo.de:80, seq=0 time=78.78 ms
connected to yahoo.de:80, seq=1 time=76.46 ms
connected to yahoo.de:80, seq=2 time=94.78 ms
connected to yahoo.de:80, seq=3 time=75.81 ms
--- http://yahoo.de ping statistics ---
4 connects, 4 ok, 0.00% failed
round-trip min/avg/max = 75.8/81.5/94.8 ms
Как видно из примеров, результаты достаточно показательны сайт Yahoo.de с большим в 1,5 раза ICMP-пингом показал меньшее в 1,5 раза время HTTP-ответа, то есть с меньшей задержкой выдавал веб-страницы.
Такая ситуация встречается повсеместно. Чем она объясняется? Причин много:
* далекие от оптимальных настройки HTTP-сервера и сетевого оборудования;
* ассиметрия каналов oт сервера и к серверу;
* перегруженность каналов, на которых находится исследуемый сервер;
* перегруженность сервера, на котором находится сайт;
* другие факторы.
Миф о том, что пинг до сервера является показателем эффективности хостинга на этом сервере, не имеет под собой абсолютно никаких оснований. ICMP-пинг никак не может дать реальное представление о работе будущего сайта. Для объективной оценки нужно учесть целый ряд других параметров, в том числе не зависящих от хостеров и дата-центров, как, например, дневные пики нагрузки на сети промежуточных провайдеров. Некоторые из этих параметров учитывает утилита httping, которую можно рекомендовать в качестве более объективной альтернативы ping.
Кроме httping, для дополнительной оценки эффективности работы серверов Apache по протоколу HTTP предназначена специальная утилита ab. Она показывает, в том числе, сколько одновременных запросов способен выдержать сервер. Существуют и другие специальные инструменты для оценки работы веб-серверов. Например, бесплатная тестовая служба NetMechanic измеряет скорость загрузки информации с сервера каждые 15 минут в течение восьми часов, а затем присылает по почте подробный отчет. Другой сервис Speed-Meter тщательно тестирует скорость работы веб-сервера, обращаясь к нему из разных уголков мира. Это уже ближе к реальной оценке качества хостинга, чем глупое баловство с пингом по сигнальному протоколу.
Анатолий Ализар