阿里巴巴DBA,原去哪儿网DBA。专注于MySQL源码研究、DBA运维、CGroup虚拟化及Linux Kernel源码研究等。 github:https://github.com/HengWang/ Email:king_wangheng@163.com 微博 :@王恒-Henry QQ :506437736
分类: LINUX
2013-08-14 00:28:25
基于《CGroup的BLKIO资源隔离》中测试方案,测试读写iops限制下,资源隔离的效果。
测试1中不设置带宽的方式进行测试,这也是最初设计的IO资源隔离的策略。设计初衷是希望通过iops进行软限制,从而减少IO资源的浪费。测试结果如下:
|
|
pic1.1 SSD read iops |
pic1.2 SSD write iops |
|
|
pic1.3 SSD read bindwidth MB/s |
pic1.4 SSD write bindwidth MB/s |
|
|
pic1.5 SSD awit |
pic1.6 CPU iowait |
|
|
pic1.7 Memory buffer |
pic1.8 Memory cache |
在55时间戳左右时,将cp进程附加到admin管理组内,在127时间戳左右时将cp进程从admin进程组内移除。从图1.1可知,在资源限制期间,读iops控制在3000以内,读bps在370MB/s,但是写iops和bps抖动非常大。iowait在资源隔离期间,CPU等待IO增加,资源隔离有一定的效果,但不明显。通过内存buff和cache可以看出,前期大量的cache读和buffer写操作,这也是写iops限制没有效果的原因,前期是内存读写,不是直接写磁盘,因此写iops和bps都抖动非常严重。
此外,从测试也发现,SSD本身连续读iops基本在3000左右,资源隔离基本没有起到控制IO的效果,这也是前期设计时,忽略了测试连续读iops,产生的一个问题。