知识大全 一个诊断案例(4)

Posted

篇首语:习惯使我们双手机巧,使头脑笨拙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 一个诊断案例(4)相关的知识,希望对你有一定的参考价值。

高性能MySQL:一个诊断案例(4)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   一个诊断案例( )

  如果读者一直顺着我们前面的思路读下来 可能还会有一些疑问 在这里我们可以稍微解释一下(我们在本章引用的方法在审阅的时候已经检查过一遍)

  为什么我们不一开始就优化慢查询?

  因为问题不在于慢查询 而是 太多连接 的错误 当然 因为慢查询 太多查询的时间过长而导致连接堆积在逻辑上也是成立的 但也有可能是其他原因导致连接过多 如果没有找到问题的真正原因 那么回头查看慢查询或其他可能的原因 看是否能够改善是很自然的事情注 但这样做大多时候会让问题变得更糟 如果你把一辆车开到机械师那里抱怨说有异响 假如机械师没有指出异响的原因 也不去检查其他的地方 而是直接做了四轮平衡和更换变速箱油 然后把账单扔给你 你也会觉得不爽的吧?

  但是查询由于糟糕的执行计划而执行缓慢不是一种警告吗?

  在事故中确实如此 但慢查询到底是原因还是结果?在深入调查前是无法知晓的 记住 在正常的时候这个查询也是正常运行的 一个查询需要执行filesort 和创建临时表并不一定意味着就是有问题的 尽管消除filesort 和临时表通常来说是 最佳实践

  通常的 最佳实践 自然有它的道理 但不一定是解决某些特殊问题的 灵丹妙药 比如说问题可能是因为很简单的配置错误 我们碰到过很多这样的案例 问题本来是由于错误的配置导致的 却去优化查询 这不但浪费了时间 也使得真正问题被解决的时间被拖延了

  如果缓存项被重新生成了很多次 是不是会导致产生很多同样的查询呢?这个问题我们确实还没有调查到 如果是多线程重新生成同样的缓存项 那么确实有可能导致产生很多同样的查询(这和很多同类型的查询不同 比如WHERE 子句中的参数可能不一样) 注意到这样会刺激我们的直觉 并更快地带我们找到问题的解决方案

  每秒有几百次SELECT 查询 但只有五次UPDATE 怎么能确定这五次UPDATE 的压力不会导致问题呢?

  这些UPDATE 有可能对服务器造成很大的压力 我们没有将真正的查询语句展示出来 因为这样可能会将事情搞得更杂乱 但有一点很明确 某种查询的绝对数量不一定有意义

  I/O 风暴最初的证据看起来不是很充分?

  是的 确实是这样 有很多种解释可以说明为什么一个这么小的数据库可以产生这么大量的写入磁盘 或者说为什么磁盘的可用空间下降得这么快 这个问题中使用的MySQL 和GNU/Linux 版本都很难对一些东西进行测量(但不是说完全不可能)

  尽管在很多时候我们可能扮演 魔鬼代言人 的角色 但我们还是以尽量平衡成本和潜在的利益为第一优先级 越是难以准确测量的时候 成本/ 收益比越攀升 我们也更愿意接受不确定性

  之前说过 数据库过去从来没出过问题 是一种偏见吗?

  是的 这就是偏见 如果抓住问题 很好 如果没有 也可以是证明我们都有偏见的很好例子

  至此我们要结束这个案例的学习了 需要指出的是 如果使用了诸如New Relic 这样的剖析工具 即使没有我们的参与 也可能解决这个问题

       返回目录 高性能MySQL

       编辑推荐

       ASP NET MVC 框架揭秘

       Oracle索引技术

       ASP NET开发培训视频教程

cha138/Article/program/MySQL/201311/29694

相关参考

知识大全 一个诊断案例(2)

高性能MySQL:一个诊断案例(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一个诊断案例

知识大全 一个诊断案例(3)

高性能MySQL:一个诊断案例(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一个诊断案例

知识大全 经典案例 财务管理系统(4)

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  基于以上需求分析和数据库分析读者对一个标准的财务管理系统应该

知识大全 Oracle诊断案例2 -SGA与Swap

Oracle诊断案例2-SGA与Swap  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  案例描述

知识大全 经典案例 财务管理系统(7)[4]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  //资产负债报表的生成和打印  procedureTmain

知识大全 经典案例 财务管理系统(10)[4]

  //显示统计结果  stringgridCells[]:=是否平衡;  stringgridCells[]:=floattostr(val);  stringgridCells[]:=floatt

知识大全 经典案例 财务管理系统(13)[4]

  //启用新帐户  procedureTAccountSettingBitBtnClick(Sender:TObject);  begin  //判断是否试算平衡  adoqueryClose;  

基本保险的4.案例分析

有一位林女士买了重大疾病险,并附加了其它一些意外医疗险种。后来她不幸得了重疾,保险公司按合同约定给付了重疾保险金,不久便通知林女士解除附加的意外医疗险。主险(重疾险)合同效力的终止,使得林女士在意外医

恶性增资的案例

恶性增资的案例里森在新加坡任期货交易员时,巴林银行原本有一个“99905”的“错误账号”,1992年夏天,伦敦总部要求里森另设立一个“错误账户”,里森建立了一个“88888”错误账户。几周后,伦敦总部

知识大全 解析一个通过添加本地分区索引提高SQL性能的案例

解析一个通过添加本地分区索引提高SQL性能的案例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!今天