Так, мабуть всі знають про iperf. Для нього треба щоб була серверна частина та клієнтська. Це не завжди можливо, якщо немає десь у теренах зайвого хоста.
Але всі, або майже всі, знають такий ресурс як http://www.speedtest.net/. Чи можна скористуватись ним не заходячи з браузера на сайт? Виявляється, що можна.
Далі покроково.
Встановлюємо пакет python-pip і вже з pip-у встановлюємо клієнта для http://www.speedtest.net/:
Також можна отримати посилання на малюнок до проведеного тесту, використовуємо опцію --share:
Але всі, або майже всі, знають такий ресурс як http://www.speedtest.net/. Чи можна скористуватись ним не заходячи з браузера на сайт? Виявляється, що можна.
Далі покроково.
Встановлюємо пакет python-pip і вже з pip-у встановлюємо клієнта для http://www.speedtest.net/:
Оновити клієнта можна завжди так:$ sudo aptitude install python-pip $ sudo pip install speedtest-cli
Після цього в нас з'явиться скрипт /usr/local/bin/speedtest-cli.$ sudo pip install speedtest-cli --upgrade
Скрипт можна запустити без будь-яких параметрів, тоді ми отримаємо тест з найближчого ресурсу (ну або начебто найближчого):$ speedtest-cli --help usage: speedtest-cli [-h] [--bytes] [--share] [--simple] [--list] [--server SERVER] [--mini MINI] [--source SOURCE] [--timeout TIMEOUT] [--secure] [--version] Command line interface for testing internet bandwidth using speedtest.net. -------------------------------------------------------------------------- https://github.com/sivel/speedtest-cli optional arguments: -h, --help show this help message and exit --bytes Display values in bytes instead of bits. Does not affect the image generated by --share --share Generate and provide a URL to the speedtest.net share results image --simple Suppress verbose output, only show basic information --list Display a list of speedtest.net servers sorted by distance --server SERVER Specify a server ID to test against --mini MINI URL of the Speedtest Mini server --source SOURCE Source IP address to bind to --timeout TIMEOUT HTTP timeout in seconds. Default 10 --secure Use HTTPS instead of HTTP when communicating with speedtest.net operated servers --version Show the version number and exit
Якщо скрипту вказати опцію --bytes то швидкість буде виведено не в бітах, а в байтах (комусь треба?).$ speedtest-cli Retrieving speedtest.net configuration... Retrieving speedtest.net server list... Testing from Ukrcom Ltd. (aaa.bbb.ccc.ddd)... Selecting best server based on latency... Hosted by MIIT (Kiev) [0.00 km]: 1.992 ms Testing download speed........................................ Download: 680.18 Mbit/s Testing upload speed.................................................. Upload: 272.63 Mbit/s
Також можна отримати посилання на малюнок до проведеного тесту, використовуємо опцію --share:
З опцією --simple скрипт просто видасть мінімум інформації:$ speedtest-cli --share Retrieving speedtest.net configuration... Retrieving speedtest.net server list... Testing from Ukrcom Ltd. (aaa.bbb.ccc.ddd)... Selecting best server based on latency... Hosted by x.ua - CDN (Kiev) [0.00 km]: 1.5 ms Testing download speed........................................ Download: 916.29 Mbit/s Testing upload speed.................................................. Upload: 358.14 Mbit/s Share results: http://www.speedtest.net/result/4866524488.png
З опцією --list скрипт виведе список всіх доступних публічних серверів для тестування. З них можна відфільтрувати лише ті які нас цікавлять:$ speedtest-cli --simple Ping: 1.423 ms Download: 550.00 Mbit/s Upload: 258.33 Mbit/s
Відповідно можна провести й тестування не до сервера який буде обрано автоматично, а до сервера який ми вкажемо самі:$ speedtest-cli --list | grep Kiev 3230) Life Astelit LLC (Kiev, Ukraine) [0.00 km] 2518) Volia (Kiev, Ukraine) [0.00 km] 831) JSC Ukrtelecom (Kiev, Ukraine) [0.00 km] 5121) MIIT (Kiev, Ukraine) [0.00 km] 5072) x.ua - CDN (Kiev, Ukraine) [0.00 km] 5477) Lanet Network (Kiev, Ukraine) [0.00 km] 6312) Ipnet (Kiev, Ukraine) [0.00 km] 5884) Adamant Ltd. (Kiev, Ukraine) [0.00 km] 6010) Triolan (Kiev, Ukraine) [0.00 km] 6446) Kyivstar (Kiev, Ukraine) [0.00 km] 5447) Cosmonova (Kiev, Ukraine) [0.00 km] 6195) UnderNet (Kiev, Ukraine) [0.00 km] 6088) Prostonet (Kiev, Ukraine) [0.00 km] 6578) Vega (Farlep-Invest) (Kiev, Ukraine) [0.00 km] 1108) NetAssist (Kiev, Ukraine) [0.00 km]
Ну, а якщо десь у Вас є сервер зі Speedtest Mini то тестування можна провести й до нього, задавши опцію --mini та вказавши відповідний url до сервера:$ speedtest-cli --server 6195 --share Retrieving speedtest.net configuration... Retrieving speedtest.net server list... Testing from Ukrcom Ltd. (aaa.bbb.ccc.ddd)... Hosted by UnderNet (Kiev) [0.00 km]: 1.691 ms Testing download speed........................................ Download: 917.25 Mbit/s Testing upload speed.................................................. Upload: 359.15 Mbit/s Share results: http://www.speedtest.net/result/4866536345.png
Ну і останнє (куди ж без цього?) - поточна версія скрипту:$ speedtest-cli --mini http://speed.ukrhub.net/ Retrieving speedtest.net configuration... Retrieving speedtest.net server list... Testing from Ukrcom Ltd. (aaa.bbb.ccc.ddd)... Hosted by Speedtest Mini (speed.ukrhub.net) [0.00 km]: 8.2 ms Testing download speed........................................ Download: 787.69 Mbit/s Testing upload speed.................................................. Upload: 333.48 Mbit/s
$ speedtest-cli --version 0.3.4