zoukankan      html  css  js  c++  java
  • MYSQL之高性能的mysql(三)--服务器性能剖析

    服务器性能剖析

    性能优化简介

      数据库服务器的性能用查询的响应时间来度量,单位是每个查询花费的时间。
      完成一项任务所需要的时间可以分成两部分:执行时间和等待时间。如果要优化任务的执行时间,最好的办法是通过测量定位不同的子任务花费的时间,然后优化去掉一些子任务、降低子任务的执行频率或者提升子任务的效率。

    通过性能剖析进行优化

      性能剖析是测量和分析时间花费在哪里的主要方法。性能剖析一般有两个步骤:测量任务所花费的时间;然后对结果进行统计和排序,将重要的任务排到前面。

    对应用程序进行性能剖析

      NewRelic会插入到应用程序中进行性能剖析,将收集到的数据发送到一个基于Web的仪表盘,使用仪表盘可以更容易利用面向响应时间的方法分析应用性能。这样用户只需要考虑做那些正确的事情,而不用考虑如何去做。

    剖析MySQL查询

    剖析服务器负载

    慢查询日志

      在MySQL的当前版本中,慢查询日志是开销最低、精度最高的测量查询时间的工具。需要担心的是日志可能消耗大量的磁盘空间。如果长期开启慢查询日志,注意要部署日志轮转(log rotation)工具。或者不要长期启用慢查询日志,只在需要收集负载样本的期间开启即可。从慢查询日志中生成剖析报告需要有一款好工具,建议使用pt-query-digest 。

    剖析单条查询

    诊断间歇性问题

    如何判断单条查询问题还是服务器问题

      使用SHOW GLOBAL STATUS,使用SHOW PROCESSLIST,使用查询日志(推荐使用前两种,开销较小)

    其他剖析工具

    使用USER_STATISTICS表

      可以查找使用得最多或者使用得最少的表和索引,通过读取次数或者更新次数,或者两者一起排序。
      可以查找出从未使用的索引,可以考虑删除之。
      可以看看复制用户的CONNECTED_TIME 和BUSY_TIME ,以确认复制是否会很难跟上主库的进度。

    使用strace

      strace 工具可以调查系统调用的情况。有好几种可以使用的方法,其中一种是计算系统调用的时间并打印出来:
     
  • 相关阅读:
    2013国内IT行业薪资对照表【技术岗位】
    Eclipse查看子类
    whereis 查找命令全路径
    开张了
    Ruby1.8中单行字符串写在多行
    FEMTO是什么
    FUSE文件系统
    魔兽私服pvpgn搭建
    linux网络源码分析(1)
    freehosting申请空间和ssh D设置
  • 原文地址:https://www.cnblogs.com/kujiawei/p/13857442.html
Copyright © 2011-2022 走看看