每准备使用新东西前需要考虑它有什么功能,耐不耐用,性能好不好,不盲目追新,也不无缘无故排斥。
主要任务
一:Docker中IO、MariaDB的性能测试
二:并宿主机进行对比
Docker version 1.12.1
操作系统:CentOS7.2
内存:32G
CPU:Intel(R) Xeon(R) CPU E5-2603 v3 @ 1.60GHz 1颗6核
1、Docker中磁盘IO的性能测试
sysbench --test=fileio --file-num=16 --file-block-size=16384 --file-total-size=2G --num-threads=4 --file-test-mode=rndrd --max-requests=100000000 --max-time=180 --file-extra-flags=direct prepare
sysbench --test=fileio --file-num=16 --file-block-size=16384 --file-total-size=2G --num-threads=4 --file-test-mode=rndrd --max-requests=100000000 --max-time=180 --file-extra-flags=direct run
#其他类型的读写-只要改成file-test-mode即可seqwr 顺序写 、seqrewr 连续改写 、seqrd 连续读 、rndrd 随机读取 、rndwr 随机写 、rndrw 结合随机读/写
sysbench --test=fileio --file-num=16 --file-block-size=16384 --file-total-size=2G --num-threads=4 --file-test-mode=rndrd --max-requests=100000000 --max-time=180 --file-extra-flags=direct cleanup
重要:测试写不需要准备数据,测试读时一定要将文件数据都准备好。
从数据可看出是在Docker进行文件操作时和跟在宿主机上操作差不了多少。
2、Docker中MariaDB的性能测试
本地磁盘和docker挂载磁盘上mariaDB的性能比较
可以看出在docker上运行的性能比本地要差点,但差别的数据在可接受范围内。
有兴趣的同学-还可以顺带测试下memory和cpu,我得到结果是native是稍微比docker差点,支持这个理论依据是什么?看来是时候重读理论啦。
sysbench --test=memory --num-threads=16 --memory-block-size=8192 --memory-total-size=8G run
sysbench --test=cpu --cpu-max-prime=20000 run
#native
sysbench 0.5: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Random number generator seed is 0 and will be ignored
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
General statistics:
total time: 56.4280s
total number of events: 10000
total time taken by event execution: 56.4238s
response time:
min: 5.46ms
avg: 5.64ms
max: 7.52ms
approx. 95 percentile: 5.65ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 56.4238/0.00
#docker
sysbench 0.5: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Random number generator seed is 0 and will be ignored
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
General statistics:
total time: 56.0816s
total number of events: 10000
total time taken by event execution: 56.0777s
response time:
min: 5.60ms
avg: 5.61ms
max: 7.52ms
approx. 95 percentile: 5.61ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 56.0777/0.00