Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1370056
  • 博文数量: 107
  • 博客积分: 1715
  • 博客等级: 上尉
  • 技术积分: 3168
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-18 18:42
个人简介

阿里巴巴DBA,原去哪儿网DBA。专注于MySQL源码研究、DBA运维、CGroup虚拟化及Linux Kernel源码研究等。 github:https://github.com/HengWang/ Email:king_wangheng@163.com 微博 :@王恒-Henry QQ :506437736

文章分类

全部博文(107)

文章存档

2014年(2)

2013年(38)

2012年(67)

分类: LINUX

2013-08-14 00:27:32


目的

       CGroup资源进行隔离时,对group组限制IOPSBPS,将进程附加到group组内时,IOawaitiowait飙升,最终导致系统的IO阻塞。这严重影响了正常任务的执行,并且失去了CGroup资源隔离的目的。基于这个原因,对cgroupBLKIO进行测试和研究。

知识背景

       在使用CGroup进行资源隔离时,为了减少系统IO资源争用,导致重要进程阻塞,因此对CGroupBLKIO资源进行资源限制。

       deadlineIO调度模式下,主要隔离的参数有:读/写带宽、读/iops,主要包括:blkio.throttle.read_bps_deviceblkio.throttle.read_iops_deviceblkio.throttle.write_bps_deviceblkio.throttle.write_iops_device四个文件。参数文件的内容格式为:(:  ),其中为设备类型,为节点ID,这两个组成设备列表中的一个设备;为限制的上限值。如:文件blkio.throttle.read_iops_device中内容:8:0  500,表示/dev/sda设备的读IOPS上线为500

测试方案

       应用环境下,对admin管理组的所有设备进行读/写限制,admin管理组包括备份恢复脚本、调度脚本等,他们的特点是会短时间内消耗大量的系统资源。MySQL多实例组不进行IO限制,原因是IO限制在deadline调度模式下,weight权重设置方式无效,单纯的限制IO,不但影响MySQL的性能,而且浪费IO资源。

       测试环境为线上正式DB标准环境,SSD数据盘和SAS日志盘,SSDRAID 5SASRAID 10

       测试的基本条件:admin组的读/iops分别限制为3000,测试cp大文件过程中,将进程附加到admin管理组中。在不同读/写带宽情况下,不同设备吞口情况下,测试IO资源的隔离情况。详细如下:

ID

READ_BPS

WRITE_BPS

DEVICE_TYPE

1

N/A

N/A

SSD -> SSD

2

N/A

N/A

SSD -> SAS

3

50M

N/A

SSD -> SSD

4

50M

N/A

SSD -> SAS

5

50M

50M

SSD -> SSD

6

50M

50M

SSD -> SAS

7

50M

N/A

SSD -> SSD SAS -> SAS

8

50M

N/A

SSD -> SAS SAS -> SAS

N/A表示不设置参数,->表示cp从左边设备拷贝到右边设备。

测试

       测试过程中,每次都会通过系统工具进行基本参数的采集,主要包括:iostat查看IO读写情况;vmstat查看内存的情况。此外,每次在cp之前,执行sync操作,清空内存,防止影响读的测试结果。

       测试过程更新中......

阅读(8858) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~