Самая мощная микросервисная среда в Китае, без исключения!
dperf Это программное обеспечение с открытым исходным кодом, разработанное Baidu на основе DPDK из 100Gbps Программное обеспечение для производительности сети и нагрузочного тестирования, способное создавать десятки миллионов файлов в секунду. HTTP Подключения, миллиарды запросов и сотни Gbps из Колебаниеколичество。
Client Cores | Server Cores | HTTP CPS |
---|---|---|
1 | 1 | 2,101,044 |
2 | 2 | 4,000,423 |
4 | 4 | 7,010,743 |
6 | 6 | 10,027,172 |
Client Cores | Server Cores | RX(Gbps) | TX(Gbps) | Client CPU Usage(%) | Server CPU Usage(%) |
---|---|---|---|---|---|
1 | 1 | 18 | 18 | 60 | 59 |
2 | 2 | 35 | 35 | 60 | 59 |
4 | 4 | 46 | 46 | 43 | 43 |
Client Cores | Server Cores | Current Connections | Client CPU Usage(%) | Server CPU Usage(%) |
---|---|---|---|---|
1 | 1 | 100,000,000 | 34 | 39 |
2 | 2 | 200,000,000 | 36 | 39 |
4 | 4 | 400,000,000 | 40 | 41 |
Client Cores | TX MPPS | Client CPU Usage(%) |
---|---|---|
1 | 15.96 | 95 |
2 | 29.95 | 95 |
4 | 34.92 | 67 |
6 | 35.92 | 54 |
8 | 37.12 | 22 |
dperf из приведенных выше данных о производительности на основе следующих результатов тестирования конфигурации:
dperf выводит несколько статистических данных в секунду:
seconds 22 cpuUsage 52
pktRx 3,001,058 pktTx 3,001,025 bitsRx 2,272,799,040 bitsTx 1,920,657,600 dropTx 0
arpRx 0 arpTx 0 icmpRx 0 icmpTx 0 otherRx 0 badRx 0
synRx 1,000,345 synTx 1,000,330 finRx 1,000,350 finTx 1,000,350 rstRx 0 rstTx 0
synRt 0 finRt 0 ackRt 0 pushRt 0 tcpDrop 0
skOpen 1,000,330 skClose 1,000,363 skCon 230 skErr 0
httpGet 1,000,345 http2XX 1,000,350 httpErr 0
ierrors 0 oerrors 0 imissed 0
#Обратитесь к следующим параметрам для редактирования '/boot/grub2/grub.cfg', а затем перезапустите ОС.
linux16 /vmlinuz-... nopku transparent_hugepage=never default_hugepagesz=1G hugepagesz=1G hugepages=8
#редактировать'config/common_base'ОткрытьPMDзакрывать
#Mellanox CX4/CX5 требует CONFIG_RTE_LIBRTE_MLX5_PMD=y.
Для #HNS3 требуется CONFIG_RTE_LIBRTE_HNS3_PMD=y.
Для #VMXNET3 требуется CONFIG_RTE_LIBRTE_VMXNET3_PMD=y.
TARGET=x86_64-native-linuxapp-gcc #или Arm64-armv8a-linuxapp-gcc
компакт-диск /root/dpdk/dpdk-stable-19.11.10
сделать установку T=$TARGET -j16
cd dperf
make -j8 RTE_SDK=/root/dpdk/dpdk-stable-19.11.10 RTE_TARGET=$TARGET
Сетевая карта #Melanox Пропустите этот шаг
#Предположим, что номер PCI равен 0000:1b:00.0
modprobe uio
modprobe uio_pci_generic
/root/dpdk/dpdk-stable-19.11.10/usertools/dpdk-devbind.py -b uio_pci_generic 0000:1b:00.0
#dperf серверные мониторы 6.6.241.27:80, Шлюз 6.6.241.1.
./build/dperf -c test/http/server-cps.conf
#IP-адрес клиента должен находиться в пределах диапазона файла конфигурации «client».
пинг 6.6.241.27
локон http://6.6.241.27/
подиз Пример запуска HTTP CPS Стресс-тестирование. существовать server терминальная операция dperf ./build/dperf -c test/http/server-cps.conf
#Используем другую машину в качестве клиента и запускаем dperf
./build/dperf -c test/http/client-cps.conf
Адрес открытого исходного кода: https://github.com/baidu/dperf.