Каковы методы проверки скорости подключения сервера (в моем случае виртуальный сервер Ubuntu @ Slicehost)? Бонусные баллы за одну команду liner bash.
Одним из лучших инструментов командной строки для проверки доступной пропускной способности является iperf. Однако вам понадобится еще один блок с известным быстрым соединением, чтобы запустить тест. Мне неизвестны общедоступные серверы iperf.
Взгляни на этот вопрос для техники использования dd
над netcat
и обратите внимание на открытие, что дисковый ввод-вывод был ограничивающим фактором в локальной сети с конкретным задействованным оборудованием. Через Интернет и с более быстрым оборудованием ваш пробег может отличаться. Используя /dev/zero
как источник и /dev/null
в качестве места назначения фактор дискового ввода-вывода будет исключен, как указано в комментариях.
целевая система:
nc -l -p 9000 | pv | дд из = / dev / nullисходная система:
dd if = / dev / zero | pv | NC 9000 -q 10
Бегать netserver
на одном компьютере и netperf -h other.server.com -l 30
по другому; увидеть официальный Netperf site для получения дополнительных сведений, источника и двоичного файла Windows (в большинстве систем портов / пакетов * nix есть netperf). Примечание: результаты будут ограничены самым медленным соединением между ними, а порт 12865 должен быть открыт на стороне сервера.
Это мой собственный способ узнать время самого простого HTTP-запроса 1/1 на моих серверах. Измените www.foo.com на ServerName и 192.168.1.15 на IP-адрес HTTP-сервера (используйте IP-адрес, так как с настоящим именем вам будет добавлено время поиска DNS).
time printf 'GET / HTTP/1.1\nHost:www.foo.com\n\n' |nc -w 10 -q 10 192.168.1.15 80 1>/dev/null
Я обычно делаю это на очень простом виртуальном хосте по умолчанию со статической HTML-страницей, чтобы получить базовое время отклика (без cgi или php, даже без управления сессией, mod_rewrite или auth.
Для отслеживания в реальном времени я использую плагины Nagios, результаты статуса apache (очень полезно для bash one linners, а также wityh q = auto) и иногда автобенч (на основе httperf).
Я считаю, что проще всего использовать iftop.
На сервере @ slicehost запустить
sudo iftop
Затем начните загрузку большого файла с помощью wget в другом окне SSH.
На странице руководства iftop:
Основная часть дисплея отображает для каждой пары хостов скорость, с которой данные были отправлены и получены за предыдущие 2, 10 и 40 секундные интервалы. Направление потока данных указано стрелками, <= и =>. Например,
foo.example.com => bar.example.com 1Kb 500b 100b
<= 2Mb 2Mb 2Mb
и т.д...