ベンチマーク


OpenSSL Benchmarks

測定方法

0.まずルーターにDD-WRTまたはOpenWrtをインストールし、作業用PCでルーターにsshで接続します。
1.ルーターにopenssl-utilsをインストールします。(必要な空き容量は790KiB程度)
opkg install openssl-util
2.もしも空き容量が足らない場合はメモリ上に展開します。当然ですが、この場合はルーターを再起動するとメモリ上のopenssl-utilが消えます。
opkg install openssl-util -d ram
export PATH=$PATH:/tmp/usr/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/tmp/usr/lib/
3.sshで繋がったPC上で以下のコマンドを実行します。コピペで問題ありません。むしろコピペでお願いします。
openssl speed md5 sha1 sha256 sha512 des des-ede3 aes-128-cbc aes-192-cbc aes-256-cbc rsa2048 dsa2048 | tee /tmp/sslspeed
echo "|" `awk 'match($0,/r[0-9]+/) {print substr($0,RSTART,RLENGTH)}' /etc/banner` `awk -v FS=": " -v ORS="" '/(Processor|Hardware|machine|cpu model|system type)/ { print "| " $2 " " } /(BogoMIPS)/ { print "| Clock | Core | Thread | " $2 " " }' /proc/cpuinfo` `awk -v ORS="" '$1 ~ /OpenSSL/ {print "| " $2 " |"} $1 ~ /(md5|sha)/ {print " " $5 " |"} $1 ~ /(des|aes)/ {b = b " " $6 " |"} $1 ~ /(rsa|dsa)/ {print b " " $6 " | " $7 " | ";b=""}' /tmp/sslspeed | sed 's/\.\(..\)k/\10/g'`
4.コマンドを実行して帰ってきた結果がwiki編集用のソースになっていますので、そのままwiki編集ページに貼り付けてください。
ただし、Openssl Versionより左は行が2行分追加の必要があったり、内容が正しくないことがあるので、手で修正する必要があります
→一部修正しました。依然としてClock・コア数・スレッド数は手入力が必要です。(コア数は grep -ce '^processor\s\+:' /proc/cpuinfoで取得できますが、他の2つは単純なコマンドでは難しそうなので、型番でネット検索したほうが早いかもしれません)
5.openssl-utilが不要な場合はアンインストールします。必要ならば依存パッケージ( libopenssl と zlib )も削除して構いません。
opkg remove openssl-util libopenssl zlib
+3.の改良前スクリプト(参考)
echo "|" `awk 'match($0,/r[0-9]+/) {print substr($0,RSTART,RLENGTH)}' /etc/banner` `awk -v FS=": " -v ORS="" '/(Processor|BogoMIPS|Hardware|machine|cpu model|system type)/ { print "| " $2 " " } END { print "" }' /proc/cpuinfo` `awk -v ORS="" '$1 ~ /OpenSSL/ {print "| " $2 " |"} $1 ~ /(md5|sha)/ {print " " $5 " |"} $1 ~ /(des|aes)/ {b = b " " $6 " |"} $1 ~ /(rsa|dsa)/ {print b " " $6 " | " $7 " ";b=""} END { print "|" }' /tmp/sslspeed | sed 's/\.\(..\)k/\10/g'`

ベンチマークの見方

  • MD5以降の13項目がルーターの様々な演算速度をスコア化したもので、一般に数値が大きい方が処理速度が早いと言えます。
  • 表の通りスコアはクロック数に依存する部分が大きいので、機種間で比較は同一クロック数の機種同士でないとほとんど参考になりません。
  • ルーターに限らずコンピューターには色々な用途があり、処理ごとに求められる性能も異なり、さらに特定の処理だけ、高速処理するハードウエアモジュールが組み込まれている場合もあり、このベンチマークの単純な数値比較だけで優劣は決まりません。


OS SoC Device CPU Clock Core Thread BogoMIPS OpenSSL Version MD5 SHA-1 SHA-256 SHA-512 DES 3DES AES-128 AES-192 AES-256 RSA Sign RSA Verify DSA Sign DSA Verify
LEDE r3560 (17.01.4) Atheros AR7242 rev 1 Buffalo WZR-HP-G302N MIPS 24Kc V7.4 400MHz 1 1 265.42 1.0.2m 21535960 18603240 9696490 2984330 3178170 1134930 5429600 4701840 4147030 4.5 170.2 15 13.6
LEDE r3560 (17.01.4) Atheros AR7161 rev 2 Buffalo WZR-HP-AG300H MIPS 24Kc V7.4 680MHz 1 1 452.19 1.0.2m 36472960 31762900 16491880 5065730 5407680 1932630 9235860 7981060 7055330 7.6 290.4 25.6 22.9
LEDE r3560 (17.01.4) MediaTek MT7620A ver:2 eco:6 Buffalo WHR-1166DHP2 MIPS 24KEc V5.0 580MHz 1 1 385.84 1.0.2m 42023170 29289820 13845160 4317530 4675240 1657170 7856470 6804480 6001320 6.5 248.3 21.8 19.7
LEDE r3560 (17.01.4) MediaTek MT7621 ver:1 eco:3 Buffalo WSR-1166DHP MIPS 1004Kc V2.15 880MHz 2 2 584.9 1.0.2m 61915260 43607430 20984520 6569300 7080910 2516990 11872960 10285250 9106770 9.8 374.4 32.8 29.3
LEDE r3560 (17.01.4) Broadcom BCM4708A0 Netgear R6300 V2 ARMv7 Processor rev 0 (v7l) 800MHz 2 1 1594.16 1.0.2m 89318310 51329280 33426970 14754820 9872240 3534330 23390070 20470130 18075470 21.7 836.7 74.6 69.4
DD-WRT v3.0-r43306 Broadcom BCM4708A0 Buffalo WZR-1750DHP2 ARMv7 Processor rev 0 (v7l) 0.8 GHz 2 1 1594.16 1.1.1g 98025660 54619400 35593900 14639460 9720150 3535370 26211990 22703590 18920190 21.5 832.7 62.8 68.7
DD-WRT v3.0-r39296 Broadcom BCM4709A0 Buffalo WXR-1900DHP ARMv7 Processor rev 0 (v7l) 1 GHz 2 1 1993.93 1.1.1b 121496750 68163930 44643000 18453850 12166210 4266780 32805670 28369560 24634170 26.7 1041.5 78.6 84.7
Attitude Adjustment r36088 (12.09) Qualcomm Atheros IPQ8064 Sitecom Greyhound AC2600 ARMv7 Processor rev 0 (v7l) 1.4 GHz 4 1 12.56 1.0.2a 97386220 38651060 31463530 12692390 14909440 5584660 28132830 24241260 21118510 21.2 755.7 73.8 60.2
Attitude Adjustment r36088 (12.09) Broadcom BCM2835 (BCM2708) Raspberry Pi Model B ARM1176JZF-S 700 MHz 1 1 697.95 1.0.1e 13225220 4608750 2451050 1546240 2159960 790190 2747390 2405380 2143570 1.7 58.2 5.8 4.7
r44379 Broadcom BCM2836 (BCM2709) Raspberry PI 2 Model B ARMv7 Processor rev 5 (v7l) 900 MHz 4 1 38.4 1.0.2 39024980 11390630 8862380 3876520 5043200 1778690 7845210 6810970 6017370 10.2 371.2 36.2 29.8
r10121 Broadcom BCM2837B0 (BCM2710) Raspberry Pi 3 B+ 1.4GHz 64-bit 4 core ARM Cortex A53 1.4 GHz 4 1 38.40 1.1.1c 145304580 157944490 84888230 122887510 18443260 6412160 36699140 31600980 28309160 127.3 4667.8 345.2 386.8
r11063 MediaTek MT7620A ver:2 eco:3 Buffalo WHR-300HP2 MIPS 24KEc V5.0 580MHz 1 1 385.84 1.1.1g 48408180 31015450 13766570 4334360 4498040 1582590 7960680 6926400 6089640 6.5 242.0 18.3 19.0



Open vSwitch Latency Benchmarks

  • openvswitch-benchmarkに含まれるovs-benchmark latencyによる測定
OS SoC Device CPU Clock Core Thread Ethernet Min Max Avg Option 対向Device 対向OS
LEDE r3560 (17.01.4) Atheros AR7242 rev 1 Buffalo WZR-HP-G302N MIPS 24Kc V7.4 400MHz 1 1 1G 62 ms 99 ms 81 ms -r $IP Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) Atheros AR7161 rev 2 Buffalo WZR-HP-AG300H MIPS 24Kc V7.4 680MHz 1 1 1G 39 ms 68 ms 54 ms -r $IP Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) MediaTek MT7620A ver:2 eco:6 Buffalo WHR-1166DHP2 MIPS 24KEc V5.0 580MHz 1 1 100M 52 ms 82 ms 67 ms -r $IP Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) MediaTek MT7621 ver:1 eco:3 Buffalo WSR-1166DHP MIPS 1004Kc V2.15 880MHz 2 2 1G 16 ms 28 ms 22 ms -r $IP Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) Broadcom BCM4708A0 Netgear R6300 V2 ARMv7 Processor rev 0 (v7l) 800MHz 2 1 1G 20 ms 38 ms 29 ms -r $IP Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL

Open vSwitch Rate Benchmarks

  • openvswitch-benchmarkに含まれるovs-benchmark rateによる測定
OS SoC Device CPU Clock Core Thread Ethernet 1s Avg 2s Avg 3s Avg 4s Avg 5s Avg Option 対向Device 対向OS
LEDE r3560 (17.01.4) Atheros AR7242 rev 1 Buffalo WZR-HP-G302N MIPS 24Kc V7.4 400MHz 1 1 1G 1100.0/s 1092.4/s 1081.6/s 1084.8/s 1086.5/s -r $IP -T 5 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) Atheros AR7161 rev 2 Buffalo WZR-HP-AG300H MIPS 24Kc V7.4 680MHz 1 1 1G 1673.9/s 1603.6/s 1609.0/s 1614.2/s 1615.6/s -r $IP -T 5 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) MediaTek MT7620A ver:2 eco:6 Buffalo WHR-1166DHP2 MIPS 24KEc V5.0 580MHz 1 1 100M 1316.3/s 1302.0/s 1317.2/s 1321.8/s 1324.3/s -r $IP -T 5 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) MediaTek MT7621 ver:1 eco:3 Buffalo WSR-1166DHP MIPS 1004Kc V2.15 880MHz 2 2 1G 3729.1/s 3851.0/s 3825.5/s 3558.0/s 3409.1/s -r $IP -T 5 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) Broadcom BCM4708A0 Netgear R6300 V2 ARMv7 Processor rev 0 (v7l) 800MHz 2 1 1G 2888.5/s 3220.5/s 3416.2/s 3449.3/s 3398.4/s -r $IP -T 5 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL

IPerf3 Benchmarks

  • iperf3による測定
OS SoC Device CPU Clock Core Thread Ethernet Sender Receiver Option 対向Device 対向OS
LEDE r3560 (17.01.4) Atheros AR7242 rev 1 Buffalo WZR-HP-G302N MIPS 24Kc V7.4 400MHz 1 1 1G 103 Mbits/sec 103 Mbits/sec -c $IP -P 4 -i 1 -w 5M -f m -O 1 -t 10 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) Atheros AR7161 rev 2 Buffalo WZR-HP-AG300H MIPS 24Kc V7.4 680MHz 1 1 1G 156 Mbits/sec 159 Mbits/sec -c $IP -P 4 -i 1 -w 5M -f m -O 1 -t 10 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) MediaTek MT7620A ver:2 eco:6 Buffalo WHR-1166DHP2 MIPS 24KEc V5.0 580MHz 1 1 100M 95.2 Mbits/sec 95.4 Mbits/sec -c $IP -P 4 -i 1 -w 5M -f m -O 1 -t 10 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) MediaTek MT7621 ver:1 eco:3 Buffalo WSR-1166DHP MIPS 1004Kc V2.15 880MHz 2 2 1G 763 Mbits/sec 765 Mbits/sec -c $IP -P 4 -i 1 -w 5M -f m -O 1 -t 10 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL
LEDE r3560 (17.01.4) Broadcom BCM4708A0 Netgear R6300 V2 ARMv7 Processor rev 0 (v7l) 800MHz 2 1 1G 367 Mbits/sec 370 Mbits/sec -c $IP -P 4 -i 1 -w 5M -f m -O 1 -t 10 Intel 82579V Ubuntu 16.04 LTS(xenial) on WSL

参考スクリプト

  • 機器(無線LANは止めておく方が望ましい)のLAN側とPCを有線LAN接続し、対向PCでovs-benchmark listenとiperf3 -sを起動しておく(必要に応じてファイアウォール無効化)。対象機器の再起動後sshでログインして下記をbench.shとして保存、./bench.sh&exitして放置(約3分半)。
#!/bin/sh
MACHINE=`uname -n`
IP=`cat /proc/net/arp | grep br-lan | sed 's/ .*//'`
echo "*** dmesg ***" > /tmp/$MACHINE.txt
dmesg >> /tmp/$MACHINE.txt
echo >> /tmp/$MACHINE.txt
echo "*** cpuinfo ***" >> /tmp/$MACHINE.txt
cat /proc/cpuinfo >> /tmp/$MACHINE.txt
echo >> /tmp/$MACHINE.txt
echo "*** openssl speed ***" >> /tmp/$MACHINE.txt
openssl speed md5 sha1 sha256 sha512 des des-ede3 aes-128-cbc aes-192-cbc aes-256-cbc rsa2048 dsa2048 | tee /tmp/sslspeed
echo "|" `awk 'match($0,/r[0-9]+/) {print substr($0,RSTART,RLENGTH)}' /etc/banner` `awk -v FS=": " -v ORS="" '/(Processor|BogoMIPS|Hardware|machine|cpu model|system type)/ { print "| " $2 " " } END { print "" }' /proc/cpuinfo` `awk -v ORS="" '$1 ~ /OpenSSL/ {print "| " $2 " |"} $1 ~ /(md5|sha)/ {print "  " $5 " |"} $1 ~ /(des|aes)/ {b = b "  " $6 " |"} $1 ~ /(rsa|dsa)/ {print b "  " $6 " | " $7 " ";b=""} END { print "|" }' /tmp/sslspeed | sed 's/\.\(..\)k/\10/g'` >> /tmp/$MACHINE.txt
echo >> /tmp/$MACHINE.txt
echo "*** ovs-benchmark latency ***" >> /tmp/$MACHINE.txt
ovs-benchmark -r $IP latency >> /tmp/$MACHINE.txt
echo >> /tmp/$MACHINE.txt
echo "*** ovs-benchmark rate ***" >> /tmp/$MACHINE.txt
ovs-benchmark -r $IP -T 5 rate >> /tmp/$MACHINE.txt
echo >> /tmp/$MACHINE.txt
echo "*** iperf3 ***" >> /tmp/$MACHINE.txt
iperf3 -c $IP -P 4 -i 1 -w 5M -f m -O 1 -t 10 >> /tmp/$MACHINE.txt

コメント

  • 「OpenSSL Benchmarks」は参考ページを元に翻訳して表の整理しました。
    「Open vSwitch Latency Benchmarks」「Open vSwitch Rate Benchmarks」「IPerf3 Benchmarks」「参考スクリプト」
    の項目は説明が見当たらなかったので表の整理だけしました。 -- 名無しさん (2020-06-21 14:33:14)
  • ssl測定後のソース編集スクリプトを修正。まだ修正の余地はあるので、OpenWrt上でClock/コア数/スレッド数を取得できるコマンドを知っている人がいたら教えてください。 -- 名無しさん (2020-06-30 **:**:**)
名前:
コメント:
最終更新:2020年06月30日 21:01