ITPub博客

首页 > 数据库 > MySQL > MySQL基准测试innodb_buffer_pool_instances对性能影响

MySQL基准测试innodb_buffer_pool_instances对性能影响

原创 MySQL 作者:StevenBeijing 时间:2020-08-14 17:27:49 0 删除 编辑

测试环境 :MySQL 5.7.26

测试数据:10张表,每张表500万行数据,共12G的数据。

innodb_buffer_pool_size=24576M不变,修改innodb_buffer_pool_instances大小测试对性能的影响,分别为1,2,4,8,16,24,32。

测试脚本如下:

/usr/local/bin/sysbench /tmp/sysbench-master/src/lua/oltp_read_write.lua --mysql-user=sysbenchuser --mysql-password=sysbenchuser --mysql-port=3307 --mysql-host=localhost --mysql-socket=/tmp/mysqld.sock --mysql-db=sysbenchtest --tables=10 --table-size=5000000 --threads=30 --report-interval=5 --time=180 run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 30
Report intermediate results every 5 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 5s ] thds: 30 tps: 1075.60 qps: 21612.05 (r/w/o: 15142.28/4312.58/2157.19) lat (ms,95%): 37.56 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 30 tps: 780.79 qps: 15613.80 (r/w/o: 10931.06/3121.16/1561.58) lat (ms,95%): 82.96 err/s: 0.00 reconn/s: 0.00
[ 15s ] thds: 30 tps: 684.47 qps: 13674.92 (r/w/o: 9566.52/2739.47/1368.93) lat (ms,95%): 54.83 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 30 tps: 549.18 qps: 10998.35 (r/w/o: 7704.48/2195.51/1098.36) lat (ms,95%): 118.92 err/s: 0.00 reconn/s: 0.00
[ 25s ] thds: 30 tps: 912.10 qps: 18247.49 (r/w/o: 12765.26/3658.02/1824.21) lat (ms,95%): 207.82 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 30 tps: 926.31 qps: 18520.85 (r/w/o: 12972.57/3695.65/1852.62) lat (ms,95%): 31.37 err/s: 0.00 reconn/s: 0.00
[ 35s ] thds: 30 tps: 706.47 qps: 14141.76 (r/w/o: 9889.55/2839.28/1412.94) lat (ms,95%): 292.60 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 30 tps: 608.35 qps: 12153.65 (r/w/o: 8517.93/2419.02/1216.70) lat (ms,95%): 223.34 err/s: 0.00 reconn/s: 0.00
[ 45s ] thds: 30 tps: 776.21 qps: 15525.70 (r/w/o: 10866.87/3106.42/1552.41) lat (ms,95%): 25.28 err/s: 0.00 reconn/s: 0.00
[ 50s ] thds: 30 tps: 671.05 qps: 13417.81 (r/w/o: 9388.31/2687.40/1342.10) lat (ms,95%): 89.16 err/s: 0.00 reconn/s: 0.00
[ 55s ] thds: 30 tps: 761.02 qps: 15227.91 (r/w/o: 10660.61/3045.26/1522.03) lat (ms,95%): 66.84 err/s: 0.00 reconn/s: 0.00
[ 60s ] thds: 30 tps: 848.50 qps: 16964.12 (r/w/o: 11878.94/3388.18/1696.99) lat (ms,95%): 28.16 err/s: 0.00 reconn/s: 0.00
[ 65s ] thds: 30 tps: 822.20 qps: 16445.18 (r/w/o: 11510.79/3290.00/1644.40) lat (ms,95%): 23.10 err/s: 0.00 reconn/s: 0.00
[ 70s ] thds: 30 tps: 802.89 qps: 16058.08 (r/w/o: 11240.51/3211.78/1605.79) lat (ms,95%): 130.13 err/s: 0.00 reconn/s: 0.00
[ 75s ] thds: 30 tps: 526.99 qps: 10538.45 (r/w/o: 7377.90/2106.57/1053.99) lat (ms,95%): 257.95 err/s: 0.00 reconn/s: 0.00
[ 80s ] thds: 30 tps: 825.07 qps: 16501.25 (r/w/o: 11551.01/3300.09/1650.14) lat (ms,95%): 69.29 err/s: 0.00 reconn/s: 0.00
[ 85s ] thds: 30 tps: 859.74 qps: 17195.25 (r/w/o: 12036.40/3439.37/1719.49) lat (ms,95%): 69.29 err/s: 0.00 reconn/s: 0.00
[ 90s ] thds: 30 tps: 787.87 qps: 15758.30 (r/w/o: 11030.11/3152.46/1575.73) lat (ms,95%): 102.97 err/s: 0.00 reconn/s: 0.00
[ 95s ] thds: 30 tps: 549.00 qps: 10978.92 (r/w/o: 7685.94/2194.98/1097.99) lat (ms,95%): 176.73 err/s: 0.00 reconn/s: 0.00
[ 100s ] thds: 30 tps: 872.64 qps: 17453.31 (r/w/o: 12216.90/3491.14/1745.27) lat (ms,95%): 29.19 err/s: 0.00 reconn/s: 0.00
[ 105s ] thds: 30 tps: 817.52 qps: 16277.60 (r/w/o: 11381.08/3261.48/1635.04) lat (ms,95%): 47.47 err/s: 0.00 reconn/s: 0.00
[ 110s ] thds: 30 tps: 543.37 qps: 10940.87 (r/w/o: 7671.42/2182.70/1086.75) lat (ms,95%): 231.53 err/s: 0.00 reconn/s: 0.00
[ 115s ] thds: 30 tps: 877.99 qps: 17559.67 (r/w/o: 12291.91/3511.77/1755.99) lat (ms,95%): 112.67 err/s: 0.00 reconn/s: 0.00
[ 120s ] thds: 30 tps: 878.81 qps: 17575.81 (r/w/o: 12303.35/3514.84/1757.62) lat (ms,95%): 69.29 err/s: 0.00 reconn/s: 0.00
[ 125s ] thds: 30 tps: 510.21 qps: 10170.96 (r/w/o: 7111.91/2038.63/1020.42) lat (ms,95%): 427.07 err/s: 0.00 reconn/s: 0.00
[ 130s ] thds: 30 tps: 944.98 qps: 18932.97 (r/w/o: 13260.70/3782.31/1889.96) lat (ms,95%): 26.20 err/s: 0.00 reconn/s: 0.00
[ 135s ] thds: 30 tps: 878.07 qps: 17563.63 (r/w/o: 12293.00/3514.49/1756.14) lat (ms,95%): 30.26 err/s: 0.00 reconn/s: 0.00
[ 140s ] thds: 30 tps: 614.01 qps: 12258.19 (r/w/o: 8582.93/2447.24/1228.02) lat (ms,95%): 56.84 err/s: 0.00 reconn/s: 0.00
[ 145s ] thds: 30 tps: 748.86 qps: 14995.85 (r/w/o: 10497.27/3000.85/1497.73) lat (ms,95%): 20.00 err/s: 0.00 reconn/s: 0.00
[ 150s ] thds: 30 tps: 905.94 qps: 18066.17 (r/w/o: 12636.93/3617.35/1811.88) lat (ms,95%): 90.78 err/s: 0.00 reconn/s: 0.00
[ 155s ] thds: 30 tps: 520.46 qps: 10432.61 (r/w/o: 7304.04/2087.64/1040.92) lat (ms,95%): 287.38 err/s: 0.00 reconn/s: 0.00
[ 160s ] thds: 30 tps: 886.58 qps: 17761.34 (r/w/o: 12440.68/3547.51/1773.15) lat (ms,95%): 33.12 err/s: 0.00 reconn/s: 0.00
[ 165s ] thds: 30 tps: 842.11 qps: 16854.87 (r/w/o: 11789.59/3381.06/1684.23) lat (ms,95%): 248.83 err/s: 0.00 reconn/s: 0.00
[ 170s ] thds: 30 tps: 555.77 qps: 11101.96 (r/w/o: 7780.74/2209.68/1111.53) lat (ms,95%): 204.11 err/s: 0.00 reconn/s: 0.00
[ 175s ] thds: 30 tps: 895.99 qps: 17920.25 (r/w/o: 12543.90/3584.37/1791.99) lat (ms,95%): 34.95 err/s: 0.00 reconn/s: 0.00
[ 180s ] thds: 30 tps: 582.59 qps: 11622.44 (r/w/o: 8122.70/2336.96/1162.78) lat (ms,95%): 200.47 err/s: 0.00 reconn/s: 0.00
SQL statistics:
    queries performed:
        read:                            1914794
        write:                           547084
        other:                           273542
        total:                           2735420
    transactions:                        136771 (759.79 per sec.)
    queries:                             2735420 (15195.74 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)
Throughput:
    events/s (eps):                      759.7868
    time elapsed:                        180.0123s
    total number of events:              136771
Latency (ms):
         min:                                    2.80
         avg:                                   39.48
         max:                                 2277.22
         95th percentile:                       89.16
         sum:                              5399642.68
Threads fairness:
    events (avg/stddev):           4559.0333/18.63
    execution time (avg/stddev):   179.9881/0.00

TPS如下图:


QPS如下图:


我们先看一下官方文档怎么说?

       对于具有多个gb范围的缓冲池的系统,将缓冲池划分为单独的实例可以提高并发性,这可以减少不同线程读写缓存页面时的争用。该特性通常用于缓冲池大小在多个gb范围的系统。使用innodb_buffer_pool_instances配置选项配置多个缓冲池实例,还可以调整innodb_buffer_pool_size值。

       当InnoDB缓冲池很大时,许多数据请求可以通过从内存中检索来满足。您可能会遇到多个线程同时访问缓冲池的瓶颈。您可以启用多个缓冲池来最小化这种争用。使用散列函数,将存储在缓冲池中或从缓冲池中读取的每个页面随机分配给其中一个缓冲池。每个缓冲池管理自己的空闲列表、刷新列表、LRUs和连接到缓冲池的所有其他数据结构,并由自己的缓冲池互斥锁保护。

       要启用多个缓冲池实例,请将innodb_buffer_pool_instances配置选项设置为大于1(默认值)的值,最多为64(最大值)。这个选项只在将innodb_buffer_pool_size设置为1GB或1GB以上时生效。指定的总大小在所有缓冲池中划分。为了获得最佳效率,请指定innodb_buffer_pool_instances和innodb_buffer_pool_size的组合,以便每个缓冲池实例至少为1GB。

官方文档并没有告诉我们每个innodb_ buffer_pool_instances设置多大合适。根据我们测试结果。在当前环境下, innodb_buffer_pool_instances设置不同值对性能影响不大。










来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30135314/viewspace-2711910/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-02-10

  • 博文量
    284
  • 访问量
    247756