目的
为了深入了解cgroup在cpu.shares模式下,通过限制shares的权重,对CPU资源的使用或者争用情况。测试通过设计简单测试场景,利用工具查看cgroup在CPU shares权重限制条件下,CPU的利用率。测试方案
1、通过sysbench压力测试mysql的3606端口的实例,查看CPU的利用情况。
2、通过sysbench同时压力测试mysql的3306和3606端口的实例,查看CPU的利用情况。
测试1
1、通过iostat查看cpu的利用率。
iostat -mxt 1
2、通过top查看cpu的利用率
top
3、通过cgmonitor.py查看当前资源的限制情况
cgmonitor -a
4、通过cgmonitor.py查看当前资源利用情况
cgmonitor -l -s 1
测试2
1、通过iostat查看cpu利用率
iostat -mxt 1
2、通过top查看CPU的利用率
top:
3、通过cgmonitor.py查看当前资源的限制情况
cgmonitor -a
4、通过cgmonitor.py查看当前资源利用情况
cgmonitor -l -s 1
结论
通过测试可知,cpu.shares在其他实例无压力的情况下,当前实例会几乎占用所有的CPU资源。当其他实例压力增大时,按照shares的权重进行分配。可以通过cgmonitor.py工具查看的结果可知,shares资源限制权重为5.60%和11.21%(比例为1:2),在资源利用率可以看出,利用比例大约为(1:2)。