В целом утилита возможна для получения “пристрелочных” результатов как замена iperf – генерирует raw TCP/UDP трафик (не HTTP) с преднастроенным payload (AAA…) по указанному количеству потоков между серверной и клиентской частью.
Сотрудники Microsoft авторы утилиты и MS именно ее рекомендует использовать для throughput тестирования в Azure.
При базовом сравнении с IxChariot результаты были аналогичны.
When testing network throughput performance in Azure, it's best to use a tool that targets the network for testing and minimizes the use of other resources that could impact performance. NTTTCP is recommended. For the purposes of this test, the two VMs should be in either the same Proximity Placement Group or the same Availability Set so that we can use their internal IPs and exclude the Load Balancers from the test. It is possible to test with the VIP but this kind of testing is outside the scope of this document.
Установка
# sudo apt-get update # sudo apt install git # sudo apt install gcc git clone https://github.com/Microsoft/ntttcp-for-linux cd ntttcp-for-linux/src make && make install ntttcp -h # help
Пример тестирования в 64 потока/сессии на гигабитном канале
# server root@serv-02:~/ntttcp-for-linux/src# ./ntttcp -r -p 500 NTTTCP for Linux 1.4.0 --------------------------------------------------------- 19:11:44 INFO: 17 threads created 19:11:49 INFO: Network activity progressing... 19:12:49 INFO: Test run completed. 19:12:49 INFO: Test cycle finished. 19:12:49 INFO: ##### Totals: ##### 19:12:49 INFO: test duration :60.00 seconds 19:12:49 INFO: total bytes :6923668472 19:12:49 INFO: throughput :923.15Mbps 19:12:49 INFO: retrans segs :0 19:12:49 INFO: cpu cores :12 19:12:49 INFO: cpu speed :1895.496MHz 19:12:49 INFO: user :0.53% 19:12:49 INFO: system :3.08% 19:12:49 INFO: idle :95.02% 19:12:49 INFO: iowait :0.01% 19:12:49 INFO: softirq :1.36% 19:12:49 INFO: cycles/byte :9.81 19:12:49 INFO: cpu busy (all) :46.72% --------------------------------------------------------- # client root@serv-01:~/ntttcp-for-linux/src# ntttcp -s10.3.1.29 -p 500 NTTTCP for Linux 1.4.0 --------------------------------------------------------- 19:11:49 INFO: 64 threads created 19:11:49 INFO: 64 connections created in 3539 microseconds 19:11:49 INFO: Network activity progressing... 19:12:49 INFO: Test run completed. 19:12:49 INFO: Test cycle finished. 19:12:49 INFO: 64 connections tested 19:12:49 INFO: ##### Totals: ##### 19:12:49 INFO: test duration :60.00 seconds 19:12:49 INFO: total bytes :6938820608 19:12:49 INFO: throughput :925.17Mbps 19:12:49 INFO: retrans segs :12086 19:12:49 INFO: cpu cores :12 19:12:49 INFO: cpu speed :1895.582MHz 19:12:49 INFO: user :0.03% 19:12:49 INFO: system :0.38% 19:12:49 INFO: idle :97.73% 19:12:49 INFO: iowait :0.01% 19:12:49 INFO: softirq :1.86% 19:12:49 INFO: cycles/byte :4.46 19:12:49 INFO: cpu busy (all) :4.88% --------------------------------------------------------- # server ~# netstat -na | grep 10.3.1.28 | wc -l 65