zoukankan      html  css  js  c++  java
  • MySQL Case--应用服务器性能瓶颈导致慢SQL

    在分析优化慢SQL时,除考虑慢SQL对应执行计划外,还需要考虑

    1、 慢SQL发生时间点的数据库服务器性能

    2、慢SQL发生时间点的应用程序服务器性能

    3、 慢SQL发生时间点数据库服务器和应用服务器之间网络

    如果应用服务器上存在性能压力,会导致对应用服务器:

    1、无法快速处理MySQL服务器返回的数据

    2、无法及时处理已开启的事务如提交或回滚事务

    如果数据库服务器和应用服务器之间网络存在问题:

    1、数据丢包重传,MySQL数据库返回数据量较大时花费较长时间在网络传输上

    2、未提交事务,网络抖动导致连接断开,由于缺少TCP“四次挥手”操作,MySQL服务器未察觉到连接断开而一直等待应用服务器提交或回滚事务。

    下面是应用服务器出现性能瓶颈时的场景描述:

    某数据库一段时间内出现大量超过30秒的INSERT/UPDATE/DELETE慢SQL,经排查发现无阻塞,数据库无性能瓶颈,且在该时间范围内性能压力有明显下降。

    数据库服务器CPU使用率下降:

    数据库服务器CPU负载下降:

    数据库服务器磁盘写入速度下降明显:

    数据库服务器磁盘读取速度轻微下降:

    由于所有慢SQL均来自同一台应用服务器,排查该应用服务器发现:

    应用服务器CPU使用率暴涨:

    应用服务器CPU负载超过100:

    应用服务器内存使用率接近100%:

    应用服务器磁盘使用率接近100%,中间有明显波动:

    应用服务器SWAP使用率在故障恢复后下降:

  • 相关阅读:
    sql分页存储过程疑惑:Row_Number与临时表哪个好?
    SQL之剪切
    在sqlserver2005中安装sql server 2000的示例数据库northwind
    安装SQL2005示例数据库
    Firefox浏览器中,Flex的FileReference上传文件,引发IOError
    Java获取方法的调用者
    ABAP screen常见语法
    XPO永久删除记录方法
    XPO的UpCasting
    在ASP.NET项目中使用XPO的最佳准则
  • 原文地址:https://www.cnblogs.com/gaogao67/p/10890564.html
Copyright © 2011-2022 走看看