一次mysql瘫痪解救
来源:互联网 发布:搭建php开发环境 编辑:程序博客网 时间:2024/05/17 08:45
http://www.cnblogs.com/fangyuan303687320/p/5058752.html
最近项目访问流量逐步的增加,特别是在一次新的业务消息推送后,极光推送给手机接受到的客户端达到19万个,此时app立马开始访问速度变慢了,用户体验相当差
客服接到的问题电话开始一个接一个,我一看心想完了,肯定是流量起来了,要么是数据库要么是nginx,要么是带宽不够了,只有这三种可能
赶紧解决问题
打开数据库服务监控:进程连接数达到1200个,每个进程都有sql在处理中。。如下图:
很明显问题出来了,mysql数据库顶不住了, 我这里用的是mysql的分支 percona,抗高并发能力强于官方版本https://www.percona.com/docs/wiki/benchmark:mysql:554-tpcc:start
于是调整参数,然后重启,中间重启出现了一次错误,把我给吓坏了,然后赶紧还原my。cnf,还好每次改的时候会备份一下,不然只有哭了
还原了配置,mysql可以启动了,但是已启动就马上1200个连接全部被塞满了,app操作依旧慢,我的天,不带这么玩我的,
于是调整参数,然后不重启 用 service mysqld reload 命令来操作
[mysqld]basedir=/usr/local/mysqluser=mysqlsocket=/var/run/mysqld/mysqld.sockserver_id=1local_infile=1tmpdir=/mnt/fiodatadir=/mnt/fio320skip-grant-tableinnodb_buffer_pool_size=4G[实际内存8G]innodb_data_file_path=ibdata1:10M:autoextendinnodb_file_per_table=1innodb_flush_log_at_trx_commit=1innodb_log_buffer_size=16Minnodb_log_files_in_group=2innodb_log_file_size=900Minnodb_thread_concurrency=0innodb_flush_method = O_DIRECTinnodb_write_io_threads=9innodb_read_io_threads=9innodb_io_capacity=500innodb_max_dirty_pages_pct=90max_connections=12000query_cache_size=0skip-name-resolvetable_cache=400调整后reload,瞬间 排队的sql慢慢在减少,进程也开始逐步减少,到130稳定下再次打开app,速度跟平常速度一样了,用mysqlworkbench 监控,命中率 和buffer使用率达到100%
0 0
- 一次mysql瘫痪解救
- mysql主从复制中出现的error和解救办法
- 解救公主
- 解救公主
- 解救人质
- MySQL一次删除两张表
- 一次mysql优化经历
- 转载 一次mysql优化
- mysql一次安装问题
- 一次mysql渗透过程
- 一次 mysql 启动错误
- 记一次mysql 调优
- 记一次mysql的优化
- 记一次MySQL查询优化
- mysql 一次死锁的处理
- 一次mysql复制故障排除
- mysql 一次死锁的处理
- MYSQL一次调优经验
- C语言数组和指针
- Codeforces Round #257 (Div. 2) A. Jzzhu and Children解题报告
- Strace 工具
- mysql5.7修改root密码
- 实战c++中的vector系列--知道emplace_back为何优于push_back吗?
- 一次mysql瘫痪解救
- [从头学数学] 第07节 11~20各数的认识
- 51nod 1422:沙拉酱前缀
- 数列求和
- 媒体服务器性能评估必须考虑的几个指标
- 【bzoj3196】【坑】Tyvj 1730 二逼平衡树 线段树套Treap/Splay
- Java RMI学习
- Android R文件丢失或R cannot be resolved to a variable
- openjudge 切割回文