使用cgroups来限制MySQL企业备份服务对资源的占用
今天我遇到一个问题,MySQL企业版备份引起I/O子系统负载过大,应用响应缓慢,导致系统不可用。所以我想限制mysqlbackup的进程,使它不会引起更多的问题。
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.
后来发现是存储系统的问题,所以我没有在生产环境使用这种方法,但是我希望这会帮上其他人忙。或许在其他问题下也是有用的。
相关推荐
-
解决Java程序使用MySQL时返回参数为乱码的示例教程
先说MySQL的字符集问题.Windows下可通过修改my.ini内的 default-character-set=utf8 //客户端的默认字符集 在MySQL客户端工具中输入 SHOW VARIABLES LIKE 'character%'; 显示如下 这样执行读取信息返回中文为乱码,解决办法是,在连接数据库之后,读取数据之前,先执行一项查询 SET NAMES 'utf8'; 即可显示正常. 最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节): 1.
-
PHP+MYSQL中文乱码问题
从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行. 解决这个问题其实很简单. 1.在建表的时候设置编码类型为gb2312_chinese_ci. 2.在PHP页面的数据库连接语句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如 $db_host="localhost"; $db_user="root"; $db_password="passwor
-
安全地关闭MySQL服务的教程
普通关闭 我的mysql是自己下载的tar包,自己设定安装目录来安装的. 停止mysql服务,说来简单,但不知道的话,还真是挠头.在这和mysql入门的同学们共享:) 正确方法是,进入mysql的bin目录下,然后执行 ./mysqladmin -uroot -p shutdown 然后输入你的密码就可以了. ps:当然,如果你的root没有密码,就不需要-p选项喽. ps:有人问启动的方法,正确的启动方法是:进入mysql的bin目录,然后nohup ./mysqld_safe &就可以了.
-
关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)
最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅. 首先: 用show variables like "%colla%":show varables like "%char%":这两条命令查看数据库与服务端的字符集设置 如果查看出来都是gbk2312,或 gbk,那么就只能支持简体中文,繁体和一些特殊符号是不能插入的,我们只有修改字符集为UTF-8, 修改方法如下: 用记事本或
-
用于App服务端的MySQL连接池(支持高并发)
本文向大家介绍了简单的MySQL连接池,用于App服务端比较合适,分享给大家供大家参考,具体内容如下 /** * 连接池类 */ package com.junones.test; import java.sql.Connection; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import com.mysql.jdbc.jdb
-
MySQL 5.0.16乱码问题的解决方法
怎样解决MySQL 5 0 16的乱码问题? 本文给出了解决方法: 问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese simplified (zh-utf-8) MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接校对 gbk_chinese_ci 2.创建数据库时 整理设置成 gbk_chinese_ci 3.用SQL建立表中 ENGINE=M
-
解决MySQL客户端输出窗口显示中文乱码问题的办法
最近发现,在MySQL的dos客户端输出窗口中查询表中的数据时,表中的中文数据都显示成乱码,如下图所示: 上网查了一下原因:之所以会显示乱码,就是因为MySQL客户端输出窗口显示中文时使用的字符编码不对造成的,可以使用如下的命令查看输出窗口使用的字符编码:show variables like 'char%'; 命令执行完成之后显示结果如下所示: 可以看到,现在是使用utf8字符编码来显示中文数据的,但是因为操作系统是中文操作系统,默认使用的字符集是GB2312,所以需要把输出窗口使用的字符编码
-
MySQL存储数据乱码的问题解析
mysql的字符集设置有多个层级,在mysql中存储中文,如果不能正确设置字符集,很容易出现数据乱码.今天就有一个用户反馈他数据库中的数据下午1点多开始出现了乱码.在这里,我分享下具体问题的排查过程,以及解决的办法. (1) 排除客户端设置导致的显示乱码 如果用户设置的mysql character_set_client跟客户端显示的字符集不一致,很容易导致中文数据乱码. 设置session字符集为utf8:set names utf8,设置客户端显示字符集为utf8,然后从表中select出
-
简单解决Windows中MySQL的中文乱码与服务启动问题
中文乱码问题 当我第一次接触mysql,首先让我难受的是mysql的乱码问题,百度上也有许多有关的解决方案,不过作为亲身受害者,我想很有必要贴出我的心声: 1.关于mysql的字符集处理 mysql在标识数据时采取二进制字符和非二进制字符格式,前者主要用来标识图片,声音,后者就完成剩余的所有功能,而对于后者,就存在字符集设置问题. 我们知道数据库是老外搞出来的,他们在设计的时候并没有考虑到编码格式的问题,在计算机流行的现代每个国家为了支持本国的语言,都推出了自己本国的编码格式,下面利用mysql
-
通过两种方式增加从库——不停止mysql服务
一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长.另一种是通过xtrabackup工具备份主库,恢复到从库,xtrabackup是物理备份,备份速度快,不锁表.为什么不锁表?因为自身会监控主库日志,如果有更新的数据,就会先写到一个文件中,然后再回归到备份文件中,从而保持数据一致性. 现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,
随机推荐
- 判断文件是否正在被使用的JS代码
- AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
- Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同的访问权限账号
- textarea焦点的用法实现获取焦点清空失去焦点提示效果
- 详解WordPress开发中wp_title()函数的用法
- Android ViewPager实现图片轮播效果
- javascript实现详细时间提醒信息效果的方法
- javascript,php获取函数参数对象的代码
- 微信小程序 HTTPS报错整理常见问题及解决方案
- SpringBoot日志配置简单介绍
- jQuery.extend()的实现方式详解及实例
- Centos下配置Redis开机启动脚本
- swift中可选值?和!使用的方法示例
- Android编程设计模式之单例模式实例详解
- 在vue项目中安装使用Mint-UI的方法
- Android中一种效果奇好的混音方法详解
- 23种设计模式(16)java访问者模式
- python3操作微信itchat实现发送图片
- iOS中如何获取某个视图的截图详析
- PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
其他
- 用户控件赋值aspnet
- antv-x6在vue中如何获取graph对象
- routerview嵌套后切换页面,滚动顶部失效
- win10eclipse环境变量
- python 打包 selenium 出错 sys
- android 记事本实现图片,视频
- el-table show-summary 底部多了一条横线
- python win32 截图
- springboot线程池使用几种方式
- vue实现按钮倒计时5秒后可用
- pytorch 模型和数据都是GPU但是GPU占有还是很低
- php实现判断条件点击事件后弹出提示框
- 小程序 页面传对象 太大
- python获取日期的年月日
- pillow库的用法 反方向写字
- 子组件调用插槽的方法
- js设置禁用input
- 安卓 GridLayout计算器自适应布局
- python读取后缀为.doc格式文件内容
- idea maven 怎么找到包的引用