Skip to content

Instantly share code, notes, and snippets.

@SAPikachu
Created June 8, 2015 03:52
Show Gist options
  • Save SAPikachu/c276860e466c36070904 to your computer and use it in GitHub Desktop.
Save SAPikachu/c276860e466c36070904 to your computer and use it in GitHub Desktop.
scp performance benchmark
sapikachu@sapikachu-netbox:/tmp/memtest$ ./bench.sh
blowfish-cbc
Bytes per second: sent 42984714.6, received 7850.0
Bytes per second: sent 42957622.1, received 7874.5
Bytes per second: sent 43907095.0, received 8061.9
aes128-ctr
Bytes per second: sent 57376736.6, received 10429.3
Bytes per second: sent 57130993.1, received 10765.5
Bytes per second: sent 60852877.9, received 11334.7
aes192-ctr
Bytes per second: sent 58023453.7, received 10653.0
Bytes per second: sent 59332873.8, received 10913.7
Bytes per second: sent 56140262.8, received 10345.7
aes256-ctr
Bytes per second: sent 53956369.5, received 9787.0
Bytes per second: sent 52410659.1, received 9510.6
Bytes per second: sent 51861331.1, received 9529.5
aes128-gcm@openssh.com
Bytes per second: sent 66499890.4, received 12267.5
Bytes per second: sent 62866228.9, received 11527.7
Bytes per second: sent 64188015.0, received 11745.6
aes256-gcm@openssh.com
Bytes per second: sent 59780731.6, received 10939.1
Bytes per second: sent 59413490.2, received 10833.5
Bytes per second: sent 55596545.6, received 10205.3
chacha20-poly1305@openssh.com
Bytes per second: sent 57685182.0, received 10633.5
Bytes per second: sent 59962674.4, received 11009.9
Bytes per second: sent 58428013.7, received 10612.4
sapikachu@sapikachu-netbox:/tmp/memtest$ cat bench.sh
#!/bin/bash
ALGS=( "blowfish-cbc" "aes128-ctr" "aes192-ctr" "aes256-ctr" "aes128-gcm@openssh.com" "aes256-gcm@openssh.com" "chacha20-poly1305@openssh.com" )
for ALG in ${ALGS[@]}; do
# ./test is 500MB file generated from /dev/urandom
# . is on tmpfs
# Warm up
scp -o Compression=no -c $ALG -v ./test 127.0.0.1:/dev/null > /dev/null 2>&1
scp -o Compression=no -c $ALG -v ./test 127.0.0.1:/dev/null > /dev/null 2>&1
scp -o Compression=no -c $ALG -v ./test 127.0.0.1:/dev/null > /dev/null 2>&1
# Real test
echo $ALG
scp -o Compression=no -c $ALG -v ./test 127.0.0.1:/dev/null 2>&1 | grep "Bytes per second"
scp -o Compression=no -c $ALG -v ./test 127.0.0.1:/dev/null 2>&1 | grep "Bytes per second"
scp -o Compression=no -c $ALG -v ./test 127.0.0.1:/dev/null 2>&1 | grep "Bytes per second"
done
sapikachu@sapikachu-netbox:/tmp/memtest$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 55
model name : Intel(R) Celeron(R) CPU J1900 @ 1.99GHz
stepping : 8
microcode : 0x829
cpu MHz : 2110.405
cache size : 1024 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips : 3993.60
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 55
model name : Intel(R) Celeron(R) CPU J1900 @ 1.99GHz
stepping : 8
microcode : 0x829
cpu MHz : 1333.841
cache size : 1024 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips : 3993.60
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 55
model name : Intel(R) Celeron(R) CPU J1900 @ 1.99GHz
stepping : 8
microcode : 0x829
cpu MHz : 1332.904
cache size : 1024 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
apicid : 4
initial apicid : 4
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips : 3993.60
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 55
model name : Intel(R) Celeron(R) CPU J1900 @ 1.99GHz
stepping : 8
microcode : 0x829
cpu MHz : 1332.826
cache size : 1024 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 6
initial apicid : 6
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms
bogomips : 3993.60
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment