linux VM与容器的cpu、内存、文件IO测试

linux VM与容器的cpu、内存、文件IO测试

测试由KVM,vmwarm,virtualbox生产的VM和docker容器的cpu,内存,文件IO性能;
测试过程:
1)分别在同一台物理机安装kvm和virtualbox的hypervisor,生产kvm,virtualbox的centos73最小化安装实例,在该物理机上安装docker运行centos73最小化安装容器实例;在另一台安装VMwarm的物理机环境生产一台centos73最小化安装实例。
2)在centos73最小化安装实例,配置本地源,安装测试工具。
3)分别在三个实例中运行测试脚本进行测试。

super_pi测试脚本

super_pi是一个计算圆周率的程序,下了一个super_pi的jar包,执行该程序所需的时间来测试cpu的性能

$ java -jar superpi-1.0.jar -t 4 -i 20 #4个线程 计算圆周率到小数点后2^20位
$ java -jar superpi-1.0.jar -t 4 -i 40 #4个线程 计算圆周率到小数点后2^40位
$ java -jar superpi-1.0.jar -t 8 -i 20 #8个线程 计算圆周率到小数点后2^20位
$ java -jar superpi-1.0.jar -t 8 -i 40 #8个线程 计算圆周率到小数点后2^40
sysbench测试脚本

使用sysbench可以对linux系统的cpu,内存,文件IO进行性能测试

cpu性能测试

sysbench通过生成素数的时间来测试cpu的性能,分别设置素数最大值为20000,200000,2000000,得出测试所需的时间。

$ sysbench --test=cpu --cpu-max-prime=20000 run
$ sysbench --test=cpu --cpu-max-prime=200000 run
$ sysbench --test=cpu --cpu-max-prime=2000000 run
内存性能测试

使用sysbench可以测试读写内存的速率,有顺序和随机两种访问方式。

$ sysbench --test=memory --memory-block-size=8K --memory-total-size=1G --memory-access-mode=seq --memory-oper=read run #顺序访问模式下读内存 8k块大小 传输总共1G数据
$ sysbench --test=memory --memory-block-size=8K --memory-total-size=1G --memory-access-mode=seq --memory-oper=write run #顺序访问模式下写内存 8k块大小 传输总共1G数据

$ sysbench --test=memory --memory-block-size=16K --memory-total-size=1G --memory-access-mode=seq --memory-oper=read run #顺序访问模式下读内存 16k块大小 传输总共1G数据
$ sysbench --test=memory --memory-block-size=16K --memory-total-size=1G --memory-access-mode=seq --memory-oper=write run #顺序访问模式下读内存 16k块大小 传输总共1G数据

$ sysbench --test=memory --memory-block-size=8K --memory-total-size=10G --memory-access-mode=seq --memory-oper=read run #顺序访问模式下读内存 8k块大小 传输总共10G数据
$ sysbench --test=memory --memory-block-size=8K --memory-total-size=10G --memory-access-mode=seq --memory-oper=write run #顺序访问模式下写内存 8k块大小 传输总共10G数据

$ sysbench --test=memory --memory-block-size=16K --memory-total-size=10G --memory-access-mode=seq --memory-oper=read run #顺序访问模式下读内存 16k块大小 传输总共10G数据
$ sysbench --test=memory --memory-block-size=16K --memory-total-size=10G --memory-access-mode=seq --memory-oper=write run #顺序访问模式下写内存 16k块大小 传输总共10G数据

$ sysbench --test=memory --memory-block-size=8K --memory-total-size=1G --memory-access-mode=rnd --memory-oper=read run #随机访问模式下读内存 8k块大小 传输总共1G数据
$ sysbench --test=memory --memory-block-size=8K --memory-total-size=1G --memory-access-mode=rnd --memory-oper=write run #随机访问模式下写内存 8k块大小 传输总共1G数据

$ sysbench --test=memory --memory-block-size=16K --memory-total-size=1G --memory-access-mode=rnd --memory-oper=read run #随机访问模式下读内存 16k块大小 传输总共1G数据
$ sysbench --test=memory --memory-block-size=16K --memory-total-size=1G --memory-access-mode=rnd --memory-oper=write run #随机访问模式下写内存 16k块大小 传输总共1G数据

$ sysbench --test=memory --memory-block-size=8K --memory-total-size=10G --memory-access-mode=rnd --memory-oper=read run #随机访问模式下读内存 8k块大小 传输总共10G数据
$ sysbench --test=memory --memory-block-size=8K --memory-total-size=10G --memory-access-mode=rnd --memory-oper=write run #随机访问模式下写内存 8k块大小 传输总共10G数据

$ sysbench --test=memory --memory-block-size=16K --memory-total-size=10G --memory-access-mode=rnd --memory-oper=read run #随机访问模式下读内存 8k块大小 传输总共10G数据
$ sysbench --test=memory --memory-block-size=16K --memory-total-size=10G --memory-access-mode=rnd --memory-oper=write run #随机访问模式下写内存 8k块大小 传输总共10G数据

file IO性能测试

sysbench可以测试sync,async,mmap的素随机读,随机写,随机读写,顺序读,顺序写,顺序读写的IO速率

$ sysbench --test=fileio --file-total-size=10G prepare #准备测试文件
#sync
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=sync --file-test-mode=rndrw --file-extra-flags=direct run #sync模式下 随机读写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=sync --file-test-mode=rndrd --file-extra-flags=direct run #sync模式下 随机读
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=sync --file-test-mode=rndwr --file-extra-flags=direct run #sync模式下 随机写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=sync --file-test-mode=seqrd --file-extra-flags=direct run #sync模式下 顺序读
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=sync --file-test-mode=seqwr --file-extra-flags=direct run #sync模式下 顺序写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=sync --file-test-mode=seqrewr --file-extra-flags=direct run #sync模式下 顺序读写
#async
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=async --file-test-mode=rndrw --file-extra-flags=direct run #async模式下 随机读写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=async --file-test-mode=rndrd --file-extra-flags=direct run #async模式下 随机读
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=async --file-test-mode=rndwr --file-extra-flags=direct run #async模式下 随机写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=async --file-test-mode=seqrd --file-extra-flags=direct run #async模式下 顺序读
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=async --file-test-mode=seqwr --file-extra-flags=direct run #async模式下 顺序写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=async --file-test-mode=seqrewr --file-extra-flags=direct run #async模式下 顺序读写
#mmap
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=mmap --file-test-mode=rndrw --file-extra-flags=direct run #mmap模式下 随机读写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=mmap --file-test-mode=rndrd --file-extra-flags=direct run #mmap模式下 随机读
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=mmap --file-test-mode=rndwr --file-extra-flags=direct run #mmap模式下 随机写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=mmap --file-test-mode=seqrd --file-extra-flags=direct run #mmap模式下 顺序读
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=mmap --file-test-mode=seqwr --file-extra-flags=direct run #mmap模式下 顺序写
$ sysbench --test=fileio --file-total-size=10G --file-block-size=16384 --file-io-mode=mmap --file-test-mode=seqrewr --file-extra-flags=direct run #mmap模式下 顺序读写
$ sysbench --test=fileio --file-total-size=10G cleanup #清理测试文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值