这里列出了一些如何监视你安装的mysql性能的一些ideas。监视总是一个持续的过程。你需要知道哪种模式对你的数据库是好的,什么是问题的表象,甚至是危险的情况。

一下列出了用来去监视你的系统的主要参数:

- mysqladmin extended (绝对值)

- mysqladmin extended -i10 -r (相对值)

- mysqladmin processlist

- mysql -e "show innodb status"

- OS data. vmstat/iostat

- MySQL error log

- InnoDB tablespace info.

1) mysqladmin extended (绝对值)

重点去监视的值有:

* Slave_running:如果系统有一个从复制服务器,这个值指明了从服务器的健康度

* Threads_connected:当前客户端已连接的数量。这个值会少于预设的值,但你也能监视到这个值较大,这可保证客户端是处在活跃状态。

* Threads_running:如果数据库超负荷了,你将会得到一个正在(查询的语句持续)增长的数值。这个值也可以少于预先设定的值。这个值在很短的时间内超过限定值是没问题的。当Threads_running值超过预设值时并且该值在5秒内没有回落时, 要同时监视其他的一些值。

2)mysqladmin extended(计数器)

* Aborted_clients:客户端被异常中断的数值(因为连接到mysql服务器的客户端没有正常地断开或关闭)。对于一些应用程序是没有影响的,但对于另一些应用程序可能你要跟踪该值,因为异常中断连接可能表明了一些应用程序有问题。

* Questions:每秒钟获得的查询数量。也可以是全部查询的数量(注:可以根据你输入不同的命令会得到你想要的不同的值)。

* Handler_*:如果你想监视底层(low-level)数据库负载,这些值是值得去跟踪的。如果Handler_read_rnd_next值相对于你认为是正常值相差悬殊,可能会告诉你需要优化或索引出问题了。Handler_rollback表明事务被回滚的查询数量。你可能想调查一下原因。

* Opened_tables:表缓存没有命中的数量。如果该值很大,你可能需要增加table_cache的数值。典型地,你可能想要这个值每秒打开的表数量少于1或2.

* Select_full_join: 没有主键(key)联合(Join)的执行。该值可能是零。这是捕获开发错误的好方法,因为一些这样的查询可能降低系统的性能。

* Select_scan:执行全表搜索查询的数量。在某些情况下是没问题的,但占总查询数量该比值应该是常量(注:Select_scan除以总查询数量商应该是常数)。如果你发现该值持续增长,说明需要优化,缺乏必要的索引或其他问题。

* Slow_queries:超过该值(--long-query-time)的查询数量,或没有使用索引查询数量。对于全部查询会有小的冲突。如果该值增长,表明系统有性能问题。

* Threads_created:该值应该是低的。较高的值可能意味着你需要增加thread_cache的数值,或你遇到了持续增加的连接,表明了潜在的问题。

3)mysqladmin processlist or "SHOW FULL PROCESSLIST"命令

你可以通过使用其他的统计信息得到已连接线程数量和正在运行线程的数量,检查正在运行的查询花了多长时间是一个好主意。如果有一些长时间的查询(由于很差的构思或公式),管理员可以被通知。你可能也想了解多少个查询是在"Locked"的状态—---该值作为正在运行的查询不被计算在内而是作为非活跃的。一个用户正在等待一个数据库响应。

4) "SHOW INNODB STATUS"命令

该语句产生很多信息,从中你可以得到你感兴趣的。首先你要检查的就是“从最近的XX秒计算出来的每秒的平均负载”。

* Pending normal aio reads: 该值是innodb io请求查询的大小(size)。如果该值大到超过了10—20,你可能有一些瓶颈。

* reads/s, avg bytes/read, writes/s, fsyncs/s:这些值是io统计。对于reads/writes大值意味着io子系统正在被装载。适当的值取决于你系统的配置。

* Buffer pool hit rate:这个命中率非常依赖于你的应用程序。当你觉得有问题时请检查你的命中率

* inserts/s, updates/s, deletes/s, reads/s:有一些Innodb的底层操作。你可以用这些值检查你的负载情况查看是否是期待的数值范围。

4)OS数据。查看系统状态好的工具是vmstat/iostat/mpstat,这些可以看man手册

5)MySQL错误日志-----在服务器正常完成初始化后,什么都不会写到错误日志中,因此任何在该日志中的信息都要引起管理员的注意。

6)InnoDB表空间信息。InnoDB仅有的危险情况就是表空间填满----日志不会填满。检查的最好方式就是:show table status;你可以用任何InnoDB表来监视InnoDB表的剩余空间。

如何监控和优化mysql查询性能_如何监视MySQL的性能相关推荐

  1. mysql查询交叉连接_复杂的MySQL查询,联合,交叉或自然连接?

    MySQL查询有一个奇怪的问题,我无法真正弄清楚如何按照我的意愿组织数据. 我正在PHP中构建搜索脚本,但数据库结构并非如我所愿. 好的,假设我有三张桌子(这些桌子完全组成): EMPLOYES id ...

  2. mysql查询心得_我的MYSQL学习心得(七) 查询

    在这个<我的MYSQL学习心得>系列里面,我一直都把MYSQL跟SQLSERVER进行比较,相互进行比较是学习一样东西比较好的方法 比较出大家的异同点,从而加深记忆 这一篇<我的MY ...

  3. 如何提高mysql查询效率_如何提高MySQL查询效率

    MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由于P2P的应用中,结点数动辄上万个,而且节点变化频繁,因此一 ...

  4. mysql查询时,offset过大影响性能的原因与优化方法

    遇到的问题 我们大家都知道,mysql查询使用select命令,配合limit,offset参数可以读取指定范围的记录,但是offset过大影响查询性能的原因及优化方法,这次工作中因为要导出40W的数 ...

  5. MySQL查询中LIMIT的大offset导致性能低下浅析

    这篇文章主要给大家介绍了关于MySQL查询中LIMIT的大offset导致性能低下的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起 ...

  6. mysql 多表 查询慢_详解Mysql多表联合查询效率分析及优化

    1. 多表连接类型1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如: SELECT * FROM table1 CROSS JOI ...

  7. mysql优化说出九条_技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢?

    原标题:技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢? 背景 2019-01-11 9:00-10:00 一个 MySQL 数据库把 CPU 打满了. 硬件配置:256G 内存,48 ...

  8. mysql分页原理_转:mysql分页原理和高效率的mysql分页查询语句

    (转自:http://www.jb51.net/article/46015.htm) 以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页 ...

  9. mysql query 查询失败_如何在mysql进行查询缓存及失败的解决方法

    都知道函数在使用前需要弄清楚参数的属性,这样才能对函数的使用有较好的了解.有些小伙伴学习了查询缓存后,直接进行了下一步的实战操作.这里小编想提醒大家,开始操作之前一定要先设置参数,不然就会出现问题.下 ...

最新文章

  1. excel2007无法加载mysql_Excel2007中进行无法安装加载项的解决方法
  2. openstack newton noVNC bug 解决方法
  3. oracle删除分区空间,Oracle 11g维护分区(三)——Dropping Partitions
  4. Codeup-问题 B: 采药
  5. android 获取当前输入法,关于获取安卓手机系统输入法和设置输入法
  6. Redmi发布98寸电视:屏占比98.8%、价格仅为友商1/5
  7. 4轮拿下字节Offer,面试题复盘(含答案)
  8. 企业邮箱设置,企业邮箱服务器怎么设置?
  9. Zynga公布2020年第四季度及全年财务业绩
  10. Deployer php自动部署,PHP自动化部署工具-Deployer
  11. css3新增属性sticky
  12. nba2k14mod android,nba2k14安卓mod
  13. 1-十六烷基-3-三乙氧基丙基硅烷咪唑溴盐离子液体([HDTIm]Br)修饰磁性纳米颗粒(MNPs)|[HDTIm]Br-MNPs
  14. 解决 k8s 限制内存后 还出现 OOM 错误的问题:资源整合
  15. 【华为机试真题Python】高矮个子排队
  16. python 小游戏-种田-制作
  17. oracle更新优化,oracle sql 优化(待更新)
  18. MYSQL索引类型:FULLTEXT、NORMAL、SPATIAL、UNIQUE
  19. 传智播客------集合
  20. IntelliJ IDEA生成jar包运行报Error:A JNI error has occurred,please check your installation and try again

热门文章

  1. 问题解决10使用带有框架的页面跳转到登录页面时,登录页面只显示在子框架中,未能铺满整个浏览器--解决方案如下:...
  2. 【算法拾遗(java描写叙述)】--- 选择排序(直接选择排序、堆排序)
  3. css3弹性盒子模型之box-flex
  4. Bootstrap之Carousel不能自动播放的解决办法(转)
  5. js的下拉框事件之onchange
  6. 自己动手写操作系统--个人实践
  7. Lr(2)-脚本调试之“集合点” 和 “事务”
  8. Freebsd 下用 sshguard 防止暴力破解 ssh 密码
  9. 比特币现金(BCH)独立日一周年庆!里程碑一览!
  10. 百度地图 osm地图 leaflet echarts webapck的组合使用时的踩坑记录