`
annan211
  • 浏览: 445913 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Innodb 存储引擎优化

阅读更多


  请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1
Innodb 存储引擎优化

Innodb 作为与MyISAM同为最受欢迎的mysql存储引擎,其与myisam的区别主要表现在 1 缓存机制 2 锁定机制 3 事务支持 4 数据存储
在某些特定环境下性能差异也是非常明显的。

   1 innodb缓存优化。
     任何一种数据库,缓存技术都是提高数据库性能的关键技术。Innodb的缓存机制和MyISAM的最大区别就是Innodb不仅缓存索引,而且还缓存实际的数据,所以同等前提下,
使用Innodb确实可以缓存更多的数据在内存中,在内存价格不断下降的今天,这无疑让开发者更多的选择Innodb.

innodb_buffer_pool_size参数是用来设置Innodb最主要的Buffer的大小,也就是用来缓存用户表以及索引数据的的最主要缓存空间,对InnoDB影响也最大。
这个参数应该设置多大才合理呢,这个肯定是要根据具体的场景来决定。而且我们还需要来确定一些问题,比如这台主机是不是只提供mysql服务?mysql最大连接数是
多少?是否还有MyISAM等其他存储引擎,如果有的话 其cache被设置为多少?

假设是一台单独给MySQL 使用的主机,物理内存总大小为8G,MySQL 最大连接数为500,同时还使用
了MyISAM 存储引擎,这时候我们的整体内存该如何分配呢?
内存分配为如下几大部分:
a) 系统使用,假设预留800M;
b) 线程独享,约2GB = 500 * (1MB + 1MB + 1MB + 512KB + 512KB),组成大概如下:
sort_buffer_size:1MB
join_buffer_size:1MB
read_buffer_size:1MB
read_rnd_buffer_size:512KB
thread_statck:512KB
c) MyISAM Key Cache,假设大概为1.5GB;
d) Innodb Buffer Pool 最大可用量:8GB - 800MB - 2GB - 1.5GB = 3.7GB;

获取mysql状态值提取缓存命中率
show status like 'Innodb_buffer_pool_read%'
Innodb_buffer_pool_read_request 329
Innodb_buffer_pool_reads         19
可以得出结论 读请求329次 有19次是缓存中没有的需要到磁盘读取,所以命中率为 (329-19)/329 * 100% = 94.22%

Innodb_buffer_pool_pages_data 70
Innodb_buffer_pool_pages_total  2480

总共设置了 2480 pages 提供给缓存,但是存放数据的只有70page 说明Buffer poll设置的过大。
同理 我们也可以根据上面的指标计算出写入的情况。

  请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1



 

分享到:
评论

相关推荐

    innodb存储引擎

    mysql性能优化 Innodb存储引擎

    MySQL技术内幕InnoDB存储引擎.rar

    《高性能mysql(第3版)》是最具代表性的进阶书籍没有之一,它是 MySQL 领域的经典之作,内容涵盖 MySQL 架构和历史,性能分析,优化,复制、备份和恢复,高可用与高可扩展性。值得每一个后端工程师多次阅读,无论是...

    08nosql mysql 优化第一天 – innodb存储引擎

    2、innodb存储引擎 >=5.5 版本中默认的存储引擎,MySql推荐使用的存储引擎。提供事务,行级锁定,存储引擎。 事务安全型存储引擎,更加注重数据的完整性和安全性。 (1)存储格式: innodb存储引擎 每个数据表有...

    MySQL InnoDB存储引擎的深入探秘

    InnoDB存储引擎支持事务、其设计目标主要是面向OLTP的应用,主要特点有:支持事务、行锁设计支持高并发、外键支持、自动崩溃恢复、聚簇索引的方式组织表结构等。 体系架构 InnoDB存储引擎是由内存池、后台线程、...

    InnoDB存储引擎架构简介

    在MySQL做完优化工作后,真正执行SQL语句的部件是存储引擎。在MySQL众多引擎之中,InnoDB是目前默认的存储引擎,也是使用最广泛的引擎。InnoDB是事务安全的MySQL存储引擎,支持ACID事务。其设计目标主要面向在线事务...

    MySQL学习(七):Innodb存储引擎索引的实现原理详解

    在innodb存储引擎中,主要是基于B+树来实现索引,在非叶子节点存放索引关键字,在叶子节点存放数据记录或者主键索引(或者说是聚簇索引)中的主键值,所有的数据记录都在同一层,叶子节点,即数据记录直接之间通过...

    Mysql5.5 InnoDB存储引擎配置和优化

    本文介绍一下Mysql5.5 InnoDB存储引擎配置和优化的方法

    mysql常用配置参数和状态变量

    mysql常用配置参数和状态变量 一、 常用参数优化 二、 MyISAM存储引擎优化 三、 InnoDB存储引擎优化

    MySQL5.1性能调优与架构设计.mobi

    11.2 InnoDB存储引擎优化 11.3 小结 第3篇 架构设计篇 第12章 MySQL可扩展设计的基本原则 12.0 引言 12.1 什么是可扩展性 12.2 事务相关性最小化原则 12.3 数据一致性原则 12.4 高可用及数据安全原则 12.5...

    innodb存储引擎修改表共享空间为独立空间

    最近在优化mysql innodb存储引擎,把共享表空间转换成独立表空间,下面是详细步骤

    innodb_performance_optimization_final

    innodb 存储引擎性能优化,mysql 5.6

    深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较

    MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键...

    MySQL5.6版InnoDB引擎深入剖析

    MySQL5.6版InnoDB深度介绍。

    MySQL存储引擎MyISAM与InnoDB的9点区别

    虽然MySQL里的存储引擎不只是MyISAM与InnoDB这两个,但常用的就是它俩了。可能有站长并未注意过MySQL的存储引擎,其实存储引擎也是数据库设计里的一大重要点,那么博客系统应该使用哪种存储引擎呢?下面我们分别来看...

    Mysql 的存储引擎,myisam和innodb的区别

    innodb是支持事务的存储引擎。    innodb的引擎比较适合于插入和更新操作比较多的应用  而MyISAM 则适合用于频繁查询的应用    MyISAM –表锁。  innodb–设计合理的话是行锁。  MyISAM 不会出现死锁。    ...

    详解MySQL中InnoDB的存储文件

    在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm文件跟数据库存储引擎无关,也就是任何存储引擎的...

    MySQL存储引擎InnoDB的配置与使用的讲解

    MyISAM和InnoDB是MySQL最常有的存储引擎,上一篇我们讲述了InnoDB与MyISAM之间的区别;...除此之外,InnoDB存储引擎还提供了插入缓冲(insert buffer)、二次读写(double write)、自适应哈希索引(adaptive hash

    MySQL面试必备+Explain的讲解+简单优化+MyISAM、InnoDB存储引擎区别+MySQL为什么选择B+树索引+MySQL中的锁

    MySQL存储引擎 区别(MyISAM, InnoDB) 1,innodb支持事务,myisam不支持事务 2,innodb支持外键,而myisam不支持。对一个支持外间的innodb转换为myisam时会失败 3,innodb不保存表的具体行数,执行 select count(*)...

Global site tag (gtag.js) - Google Analytics