MySQL优化方法
  主机
  操作系统
  数据库
  应用

MySQL优化理论
  吞吐率(Throughput) VS 延时(Latency)
  吞吐率: 我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力。
  称之为吞吐率(Throughput),单位是 “req/s”。 吞吐率特指Web服务器单位时间内处理的请求数。
  延时: 延时是描述操作里用来等待服务的时间。在某些情况下,它可以指的是整个操作时间,等同于响应时间。
  例如,一次应用程序请求、一次数据库查询、一次文件系统操作,等等。举个例子,延时可以表示从点击链接
  到屏幕显示整个网页加载完成的时间。
  目标: 在用户能够接受的延时下,尽可能的提高吞吐量
little’s law
  在一个稳定的系统中,平均的客户数等于客户到达该系统的平均速率乘以客户在该系统中花费的平均时间
  例如:请求到达率: 1000请求/s
  Response time:0.5s
  并发量:500
  ==> 并发量 = 请求到达率(吞吐量)* Response time(延时)
5分钟法则
临近法则

Client请求:           减少数据访问(减少磁盘访问)
network             返回更少数据/减少交互次数(减少网络传输)
APP:ds/code/加机器
DB:Instance/SQL/分库分表      参数:innodb_buffer_pool_size
                innodb_flush_log_at_trx_commit
                sync_binlog
                SQL:开发规范(减少CPU及内存开  销)
                执行计划
OS:kernel/limit/fs/std       规范化/标准
主机CPU/MEM/IO/NET

5分钟法则是指如果请求的资源在被第一次访问后的5分钟内,需要再次被访问的,那就要把该数据缓存起来,以提高访问响应时间。
而为什么要缓存呢,就是因为从各个介质上获取数据的时间成本是不一样的,比如常见的几种介质中,cpu缓存最快,内存其次,
硬盘最慢,而硬盘里面则是ssd最快,15000转sas盘其次,7200转更慢等等。

临近法则是指,被请求的资源的临近资源,往往也会被请求。比如数据库,请求一个block或一个page时,其临近的page被请求的概
率也非常高。所以像oracle就有db_file_multiblock_count这样的优化参数设置,而mySQL虽然没有类似的参数,但是默认也是多块读的模式。

高并发系统设计
应用级缓存,http缓存,多级缓存(分布式,热点数据),队列(异步,同步),
扩容(应该扩容,数据库拆分,水平,垂直,数据异构),异步并发,池化(数据库连接池,线程池)

MySQL优化方法论的更多相关文章

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

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

  2. MySQL优化聊两句

    原文地址:http://www.cnblogs.com/verrion/p/mysql_optimised.html MySQL优化聊两句 MySQL不多介绍,今天聊两句该如何优化以及从哪些方面入手, ...

  3. 0104探究MySQL优化器对索引和JOIN顺序的选择

    转自http://www.jb51.net/article/67007.htm,感谢博主 本文通过一个案例来看看MySQL优化器如何选择索引和JOIN顺序.表结构和数据准备参考本文最后部分" ...

  4. mysql 优化

    1.存储过程造数据 CREATE DEFINER=`root`@`localhost` PROCEDURE `generate_test_data`(`n` int) begin declare i ...

  5. mysql优化笔记之分页

    过年闲得蛋疼,于是看看mysql优化,看了网上好多关于分页的优化方法,但是呢,我亲自试上一把的时候,没有出现他们说的现象...难道是我的机器问题么? 下面看看我的实践记录,希望看到的加入进来交流一下O ...

  6. MySQL优化概述

    一. MySQL优化要点 MySQL优化是一门复杂的综合性技术,主要包括: 1 表的设计合理化(符合 3NF,必要时允许数据冗余) 2.1 SQL语句优化(以查询为主) 2.2 适当添加索引(主键索引 ...

  7. MySQL优化实例

    这周就要从泰笛离职了,在公司内部的wiki上,根据公司实际的项目,写了一些mysql的优化方法,供小组里的小伙伴参考下,没想到大家的热情很高,还专门搞了个ppt讲解了一下. 举了三个大家很容易犯错的地 ...

  8. Mysql优化系列(2)--通用化操作梳理

    前面有两篇文章详细介绍了mysql优化举措:Mysql优化系列(0)--总结性梳理Mysql优化系列(1)--Innodb引擎下mysql自身配置优化 下面分类罗列下Mysql性能优化的一些技巧,熟练 ...

  9. mysql优化记录

    老板反应项目的反应越来越慢,叫优化一下,顺便学习总结一下mysql优化. 不同引擎的优化,myisam读的效果好,写的效率差,使用场景 非事务型应用只读类应用空间类应用 Innodb的特性,innod ...

随机推荐

  1. Node.js基础知识普及

    Node.js只支持单线程,故不会产生死锁,采用非阻塞I/O机制和事件环机制.非常适合与开发需要处理大量并发的输入/输出的应用程序.   一. Node.js的核心模块有很多,这里先写几个比较常用的( ...

  2. Python SQL相关操作

    环境 Anaconda3 Python 3.6, Window 64bit 目的 从MySQL数据库读取数据,进行数据查询.关联 代码 # -*- coding: utf-8 -*- "&q ...

  3. appium自动化测试(三)

    一. 层级定位和list 先通过find_element_by_XXX找到父级元素webelement,再通过webelement.find_element_by_XXX寻找子元素 二. 滑动屏幕 滑 ...

  4. uva-11020-平衡树

    题目链接https://vjudge.net/problem/UVA-11020 白书例题,依次给出n个点的坐标,定义一个点为优势点当且仅当这个点的左下方区域不包含任何点(但可以与之完全重合):求每加 ...

  5. react 文章

    1.http://www.ruanyifeng.com/blog/2016/09/react-technology-stack.html (React 技术栈系列教程) 2.http://www.ru ...

  6. 在启动mysql的时候出现如下问题:“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)”

    今天在启动Mysql 的时候出现如下的问题:“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)” 在查询 ...

  7. 【ccf2017-12-2】游戏(模拟)

    问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,……,1号小朋友坐在n号小朋友的顺时针方向. 游戏开始,从1号小朋 ...

  8. css03层次选择器

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. 条款16:成对使用new以及delete的时候应该采取相同的形式

    首先思考下面的代码: ]; ... delete stringArray; 这是最常见的错误之一了,new与delete不配对,但是仔细想想new与delete为什么一定要配对呢? 可以想到一种可能就 ...

  10. react : code splitting

    1.webpack config output: { ... chunkFilename: 'js/[name].min.js' ... } optimization: { splitChunks: ...