• MySQL基准测试--innodb_buffer_pool_instances


    http://blog.chinaunix.net/uid-26896862-id-3345441.html

    目的

             根据现有硬件环境下,测试MySQL单实例下,在数据量小于innodb_buffer_pool_size大小的情况下,innodb_buffer_pool_instances的值对MySQL数据库的性能影响。

    实验测试环境

    1、实验测试硬件环境

    Summary:        Dell R620, 1 x Xeon E5-2630 0 2.30GHz, 63GB / 64GB 1600MHz DDR3

    System:         Dell PowerEdge R620 (Dell 036FVD)

    Processors:     1 (of 2) x Xeon E5-2630 0 2.30GHz 7200MHz FSB (HT enabled, 6 cores, 24 threads)

    Memory:         63GB / 64GB 1600MHz DDR3 == 8 x 8GB, 16 x empty

    2、实验测试软件环境

             实验测试的软件环境主要包括,操作系统、MySQL数据库以及测试工具,具体内容如下:

    操作系统:

    CentOS 6.2 (Final), Linux 2.6.32-220.23.1.el6.x86_64 x86_64, 64-bit

    MySQL版本:Percona Server 5.5.20

             TPC-C测试工具:tpcc-mysql

             其中TPC-C测试工具的安装和使用说明文档参照相关内容。

    测试方案

             实验方案为单机单实例,探索MySQL在数据量小于参数innodb_buffer_pool_size的值时,innodb_buffer_pool_instances参数对MySQL性能的影响。主要测试方案如下:

             单机单实例主要测试随着innodb_buffer_pool_instances的变化,其他参数不变的情况下,MySQL性能的影响。innodb_buffer_pool_size的大小为55G,约占内存的86%。数据量为200warehouse,数据大小大约为20G。具体如下:

    测试

    innodb_buffer_pool_instances的值

    1

    1

    2

    2

    3

    4

    4

    8

             测试的参数具体如下所示:

    Parameters

    Value

    [warehouse]

    200

    [connection]

    16

    [rampup]

    3600 (sec.)

    [measure]

    1800 (sec.)

    测试

    测试结果如下所示:

    Innodb_buffer_pool_size大小(G)

    200W吞吐量(tpmc)

    1

    18337.033

    2

    18589.400

    4

    18042.867

    8

    17935.199

             通过以上测试结果可知,在测试数据为200Warehouse时,数据大小大约占innodb_buffer_pool_size的1/3。此时,innodb_buffer_pool_instances为2时,MySQL的性能相对较高,而随着innodb_buffer_pool_instances的增大,MySQL的性能反而有所降低。但总体来看,对数据库的性能影响不大。

    结论

             innodb_buffer_pool_instances的值主要用于将innodb buffer pool进行划分,通过划分innodb buffer pool为多个实例,可以提高并发能力,并且减少了不同线程读写造成的缓冲页。每一页从其中一个buffer pool中使用hash函数随机的读取和写入。每个buffer pool管理和维护各自的信息,包括free lists、flush lists、LRUs等。 

    从以上测试可知,随着innodb_buffer_pool_instances的增加,MySQL的性能在划分的每个innodb buffer 的大小与测试的数据大小基本一致时,MySQL的性能最优。然而从测试结果来看,innodb_buffer_pool_instances对MySQL的性能并没有较大的提高。因此,对该参数的设置,仍然需要进一步的测试,需要谨慎设置。

    参考:

    1、MySQL 5.5 Reference Manual:

    http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_buffer_pool_instances

  • 相关阅读:
    【转载】[教程]OpenSEES超简单易懂的入门第一课
    【转载】面向对象的非线性有限元方法
    与李文雄老师讨论有限元
    【转载】 Moving Beyond OpenGL 1.1 for Windows
    【转载】国外免费期刊全文数据库
    与李文雄老师讨论学术研究
    【转载】VS 2010和.NET 4.0之WPF 4改进全解析
    【转载】MFC中SDI、MDI框架各部分指针获取(网上找的,好东西大家一起分享,多谢原创作者!)
    【转载】一位院士——搞科研的几个条件
    Visual Studio 2010 step by step学习摘要
  • 原文地址:https://www.cnblogs.com/mydriverc/p/8296938.html
Copyright © 2020-2023  润新知