zoukankan      html  css  js  c++  java
  • MySQL之服务器性能剖析

    关于mysql服务器性能,可能需要关注的点会比较多,如:如何确认服务器是否达到了性能最佳的状态,找出某条语句为什么执行不够快,以及诊断被用户描述成“停顿“,“堆积“或者“卡死“的某些间歇性疑难故障。这看起来很不简单。但是事实证明,有一个简单的方法能够从噪声中发现苗头。

    这个方法就是专注于测量服务器的时间花费在哪里,使用的技术则是性能剖析。

     

    mysql性能的问题,可能不同人会有不同的说法。例如:每秒查询数,cpu利用率,可扩展性  等等。

    每个人在不同场景对性能有不同的理解。

    但在这我们将给出一个正式的定义:

    mysql性能指的是完成某件任务所需要的时间的度量,换句话说,性能即响应时间.

     

    性能优化就是在一定得工作负载下尽可能的降低响应时间。

     

    有人认为性能优化是降低cpu利用率,这是一个误解。资源是用来消耗并用来工作的,所以有时候消耗更多的资源能够加快查询速度。cpu利用率只是一种现象,而不是很好的可度量的目标。

    同样,如果把性能优化仅仅看成提升每秒查询量,这其实只是吞吐量优化。吞吐量的提升可以看做性能优化的副产品。(吞吐量的定义是单位时间内的查询数量,这正好是我们对性能定义的倒数)

     

    优化的第二原则:无法测量就无法有效的优化。所以,第一步应该测量时间花在什么地方。

    不合适的测量:

      在错误的时间启动和停止测量

      测量的是聚合后的信息,而被捕是目标活动本身。

    例如一个常见的错误是先查看慢查询,然后又去排查整个服务器的情况来判断问题的所在。

     

    完成一项任务所需要的时间可以分为两部分:执行时间和等待时间。

     

    剖析MySQL查询:

      1.剖析服务器负载

        捕获mysql的查询到日志文件中

        分析查询日志

      2.剖析单条查询

        使用 show profile

        使用 show status

        使用 慢查询日志

      3.使用性能剖析

     

    总结的关键字有:  响应时间,吞吐量,测量,优化,慢查询日志。

  • 相关阅读:
    Swift语言快速入门
    软件测试工程师成长之路:掌握软件测试九大技术主题
    Swift语言快速入门
    python学习笔记之——python模块
    python学习笔记之——python函数
    python学习笔记之—— calendar(日历)模块
    python的学习笔记之——time模块常用内置函数
    python学习笔记之——range()函数
    robotframework的学习笔记(十六)----robotframework标准库String
    robotframework的学习笔记(十五)----robotframework标准库Collections
  • 原文地址:https://www.cnblogs.com/w2154/p/4681591.html
Copyright © 2011-2022 走看看