mysqlbackup命令里面有读,写和进程数的设置。默认是1个读,1个写和5个线程。因为我用的是默认设置,所以还是没有必要去调整了。
使用ionice工具没法工作,因为它需要CFG
I/O调度器。
我在这篇文章里找到一个方法。
它使用的是linux的cgroups。之前,在三台中有一台服务器使用的是非常慢的CPU的情况下,我使用过cgroups来测试一个galera的安装工作。
#
mkdir
/cgroup/blkio
#
mount
-t
cgroup
-o
blkio
non
/cgroup/blkio
#
cgcreate
-g
blkio:/mysqlbackup
#
ls
-lh
/dev/mapper/vgdb01-lvdb01
lrwxrwxrwx
1
root
root
7
Sep
26
14:22
/dev/mapper/vgdb01-lvdb01
->
../dm-2
#
ls
-lh
/dev/dm-2
brw-rw----
1
root
disk
253,
2
Sep
26
14:22
/dev/dm-2
#
cgset
-r
blkio.throttle.read_iops_device="253:2
20"
mysqlbackup
#
cgset
-r
blkio.throttle.write_iops_device="253:2
20"
mysqlbackup
#
echo
$$
>
/cgroup/blkio/mysqlbackup/tasks
#
cat
/proc/$$/cgroup
1:blkio:/mysqlbackup
#
mysqlbackup
--user=root
--password=xxxxxx
--with-timestamp
--backup-dir=/data/backup
backup
和我期待的完全一样,这种方式工作的很好。读和写 *** 作都被限制在
20
iops.
后来发现是存储系统的问题,所以我没有在生产环境使用这种方法,但是我希望这会帮上其他人忙。或许在其他问题下也是有用的。
以Oracle为例,可以使用系统中的profile用来对用户所能使用的数据库资源进行限制。使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)