首先不是看它的表结构等等。从整体上去观察,不断去看它的状态。这个状态往往不是一两个小时可以看出来的,得写一个脚本,观察它的24小时的周期性变化,不断刷新它的脚本,观察它的Status。主要是看它有没有周期性的故障或者波动。一个访问高峰/缓存崩溃引起的。

缓存一失效,服务器百分之百挂。

一条sql语句A失效了,失效了之后三个sql语句同时去select它,并且建立这条缓存,这就造成了浪费。所以如果某个语句失效了,有一个拿着锁的人、拿着钥匙的人、上了锁的这个进程去负责select的查询并且更新缓存。

凌晨两三点钟失效,人特少,访问量少,就算它失效了负载也不大,等到早上七八点钟的时候这个缓存又建立的差不多了。所以得看它是不是由于周期性的波动或者是高峰期引起的。所以首先是从缓存这方面解决,而不是说服务器哪儿整的不对。

然后看查询速度是不是已到基准测试的瓶颈。如果查询速度换算成I/O都已经60或者70M了,测试的时候我们的机器一秒钟最多读个一百兆。MySQL就已经达到60、70MI/O这已经相当夸张了。


如果说不是一个周期性的波动,这是某条sql语句写的不好引起。只要这条语句出现,服务器它就卡一下,它占的内存资源特别大,或者说它占的I/O资源也特别大。这个时候就要把害群之马找出来。找出来之后用profiling分析它的语句然后用explain分析它的扫描效果。


一上来是先观察,找到问题所在。观察之前首先是做了一个服务器的基准测试,知道服务器的潜力到底有多大。接着观察服务器的当前状态,是否有周期性波动。


首先我们应该学习的是观察服务器状态。

01-MySQL优化大的思路的更多相关文章

  1. [转] MySql 优化 大数据优化

    一.我们可以且应该优化什么? 硬件 操作系统/软件库 SQL服务器(设置和查询) 应用编程接口(API) 应用程序 ------------------------------------------ ...

  2. MySQL性能优化最佳实践 - 01 MySQL优化方法论

    MySQL优化方法的关键是? MySQL参数优化,innodb_buffer_pool_size/innodb_flush_log_at_trx_commit/sync_binlog SQL开发规范 ...

  3. Mysql优化-大数据量下的分页策略

    一.前言 通常,我们分页时怎么实现呢? 1 SELECT * FROM table ORDER BY id LIMIT 1000, 10; 但是,数据量猛增以后呢? 1 SELECT * FROM t ...

  4. mysql优化----大数据下的分页,延迟关联,索引与排序的关系,重复索引与冗余索引,索引碎片与维护

    理想的索引,高效的索引建立考虑: :查询频繁度(哪几个字段经常查询就加上索引) :区分度要高 :索引长度要小 : 索引尽量能覆盖常用查询字段(如果把所有的列都加上索引,那么索引就会变得很大) : 索引 ...

  5. Mysql优化大分页查询

    如题,年前做了一个需求,涉及到Mysql大分页查询,整理一下,希望对需要的小伙伴有帮助. 背景分页查询的性能瓶颈B+树简述B+比起二叉查找树,有什么优势?分页查询过程测试集解决方法1 延迟关联法:2 ...

  6. 【mysql优化】大数据量分页优化

    limit 翻页原理 limit offset,N, 当offset非常大时, 效率极低, 原因是mysql并不是跳过offset行,然后单取N行, 而是取offset+N行,返回放弃前offset行 ...

  7. 单表60亿记录等大数据场景的MySQL优化和运维之道

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

  8. 【转】单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美图公司数据库高级DBA,负责美图后端数据 ...

  9. [转载] 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    原文: http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209406532&idx=1&sn=2e9b0cc02bdd ...

随机推荐

  1. maven的pom.xml文件配置说明

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  2. uploadify onComplete 不执行?

    这个问题纠结了2小时.最后发现在最新版的uploadify 没有 onComplete  事件了. 我去.... 详情看官网:http://www.uploadify.com/documentatio ...

  3. 去掉UIWebView上下滚动出边界时的黑色阴影

    for (UIView *viewin [_webViewsubviews]){ if ([viewisKindOfClass:[UIScrollView class]]){ for (UIView ...

  4. sqlzoo练习题答案

    title: SQL-Learning date: 2019-03-12 20:37:21 tags: SQL --- 这是关于在一个SQL学习网站的练习题答案记录:SQL教程 SQL基础 由一些简单 ...

  5. STM32之中断

    在STM32(Cortex-M3)中没有显示的代码拷贝,只有启动代码进行了向量的初始化,一直以为是编译器在程序影像中自己完成了相关向量的拷贝,即,拷贝到固定的NVIC区,事实上并不是这样,cortex ...

  6. couchdb的使用例子

    couchdb安装 sudo apt-get install erlang sudo apt-get install libmozjs185-dev libicu-dev 下载源码,编译安装 启动以后 ...

  7. struts2学习(12)struts2验证框架2.自定义验证

    一.例子需求: 对敏感词进行验证: 将struts包中的validators.xml文件拷贝一份到src目录下,在最后面添加自己的验证器: com.cy.validators.SensitiveWor ...

  8. java代码-------Runnable的用法

    总结:主要是实现Runnable接口就必须重写run()方法,然后需要创建Thread类的对象,再调用start()方法 package com.s.x; public class testRunna ...

  9. hadoop从调整GC到关键Counter计算原理分析

     hadoop集群中发现使用Parallel Scavenge+Parallel Old收集器组合进行垃圾收集(这也是server端jvm默认的GC方式)时CPU占用可能会非常高,偶尔会出现爆满的状态 ...

  10. Php处理时间的函数

    1,字符串与时间: 例如 $time = strtotime("2007-3-5"); echo date("Y-m-d H:i:s",$time); 2,当前 ...