mysql中的监控与优化过程是怎样的
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,mysql中的监控与优化过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 监控与优化1.1 监控指标1.1
千家信息网最后更新 2025年02月01日mysql中的监控与优化过程是怎样的
mysql中的监控与优化过程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1. 监控与优化
1.1 监控指标
1.1.1 QPS
mysql> show global status like 'Com%';mysql> show global status like 'Queries';+---------------+---------+| Variable_name | Value |+---------------+---------+| Queries | 1983766 |+---------------+---------+1 row in set (0.00 sec)
QPS = ( Queries 2- Queries 1 ) / 间隔时间
mysql> show global status where variable_name in ('Queries','uptime');+---------------+---------+| Variable_name | Value |+---------------+---------+| Queries | 1983768 || Uptime | 1364443 |+---------------+---------+2 rows in set (0.00 sec)
1.1.2 TPS
mysql> show global status where variable_name in ('com_insert','com_update','com_delete','uptime');+---------------+---------+| Variable_name | Value |+---------------+---------+| Com_delete | 23676 || Com_insert | 793072 || Com_update | 259586 || Uptime | 1364651 |+---------------+---------+4 rows in set (0.00 sec)
Transaction_sum= Com_delete+ Com_insert+ Com_update
TPS = (Transaction_sum 2 - Transaction_sum 1 ) / (time 2 - time 1)
1.1.3 并发数
mysql> show global status like 'Threads_running';+-----------------+-------+| Variable_name | Value |+-----------------+-------+| Threads_running | 2 |+-----------------+-------+1 row in set (0.01 sec)
1.1.4 连接数
# 最大连接数mysql> show global status like 'max_used_connections%';+---------------------------+---------------------+| Variable_name | Value |+---------------------------+---------------------+| Max_used_connections | 22 || Max_used_connections_time | 2019-09-04 13:49:52 |+---------------------------+---------------------+2 rows in set (0.00 sec)# 当前连接数mysql> show global status like 'threads_connected';+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_connected | 2 |+-------------------+-------+1 row in set (0.01 sec)
1.1.5 缓存命中率
##从缓存中读取的次数mysql> show global status like 'innodb_buffer_pool_read_requests';+----------------------------------+----------+| Variable_name | Value |+----------------------------------+----------+| Innodb_buffer_pool_read_requests | 16217299 |+----------------------------------+----------+1 row in set (0.00 sec)##从物理磁盘读取的次数mysql> show global status like 'innodb_buffer_pool_reads';+--------------------------+-------+| Variable_name | Value |+--------------------------+-------+| Innodb_buffer_pool_reads | 2067 |+--------------------------+-------+1 row in set (0.00 sec)
缓存命中率 = ( innodb_buffer_pool_read_requests - innodb_buffer_pool_reads ) /
innodb_buffer_pool_reads * 100%
1.1.6 服务可用性
周期连接,执行查询:select @ @version; 或 select user();
mysqladmin -uroot -pxxx -hxxxx ping
1.1.7 阻塞
##< mysql 5.7SELECT b.trx_mysql_thread_id as '被阻塞的线程', b.trx_query as '被阻塞的SQL', c.trx_mysql_thread_id as '阻塞线程', c.trx_query as '阻塞SQL', UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started)) as '阻塞时间'FROM information_schema.INNODB_LOCK_WAITS a JOIN information_schema.INNODB_TRX b ON a.requesting_trx_id=b.trx_idJOIN information_schema.INNODB_TRX c ON a.blocking_trx_id=c.trx_idWHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(c.trx_started))>30##> mysql 5.7SELECT waiting_pid AS '被阻塞的线程', waiting_query AS '被阻塞的SQL', blocking_pid AS '阻塞线程', blocking_query AS '阻塞SQL', wait_age AS '阻塞时间', sql_kill_blocking_query AS '建议操作'FROM sys.innodb_lock_waitsWHERE (UNIX_TIMESTAMP()-UNIX_TIMESTAMP(wait_started))>30
1.1.8 死锁
##pt工具pt-deadlock-logger u=admin, p=123456, h=127.0.0.1 \--create-dest-table \--dest u=admin,p=123456, h=127.0.0.1.D=dba,t=deadlock##全局参数,日志监控mysql> set persist innodb_print_all_deadlocks=on;
11.1.9 慢查询
监控慢查询日志
通过information_shcema.processlist表实时监控
1.1.10 主从延迟
show slave status\G
pt-heartbeat
##主库pt-heartbeat --user=xx --password=xxx -h master --create-table --database xxx --update --daemonize --interval=1##从库pt-hearbeat --user=xx --password=xx -h slave --database xxx--monitor --daemonize --log /tmp/slave_lag.log
1.1.11 主从状态
show slave status\G
IO/SQL 两个线程状态(yes or no)
1.2 负载问题
1.3 优化
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
监控
阻塞
线程
缓存
查询
主从
命中率
日志
时间
次数
状态
帮助
过程
最大
清楚
两个
全局
内容
参数
可用性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全文电子数据库
澄海软件开发团队
软件开发相关专业有哪些
薯片科技互联网
加强日常网络安全宣传教育
北京米洛网络技术
国内外计算机检索数据库
十四五期间网络安全建议
体育+软件开发
杭州物流软件开发收费多少
数据库删除一行怎么删
网络安全的启示是什么
原神b服服务器地址
海归教授清华大学网络安全
四大基础数据库 如何
北京设备软件开发公司名录
刀片服务器经销商
徐汇区智能软件开发供应商家
会员服务器内存占用高
什么是另一个dns服务器
全境封锁2 如何更换服务器
数据库管理及应用第4版
超微服务器内存
杭州物流软件开发收费多少
北京编程软件开发代码
工行软件开发中心发展
怎么用域名登录服务器
网络安全有哪些热门股
软件开发一般在什么公司
上海软件开发引荐志先科技