MySQL 5.6 Innodb數(shù)據(jù)頁 16K vs 8K性能對(duì)比測(cè)試

mysql5.6開始,一個(gè)新參數(shù)innodb_page_size可以設(shè)置Innodb數(shù)據(jù)頁為8K,4K,默認(rèn)為16K。這個(gè)參數(shù)在一開始初始化時(shí)就要加入my.cnf里,如果已經(jīng)創(chuàng)建了表,再修改,啟動(dòng)MySQL會(huì)報(bào)錯(cuò)。 參考手冊(cè): – 下面我針對(duì)16K和8K做了一個(gè)壓力測(cè)試。 硬件:R710,72G內(nèi)存,6

從MySQL5.6開始,一個(gè)新參數(shù)innodb_page_size可以設(shè)置Innodb數(shù)據(jù)頁為8K,4K,默認(rèn)為16K。這個(gè)參數(shù)在一開始初始化時(shí)就要加入my.cnf里,如果已經(jīng)創(chuàng)建了表,再修改,啟動(dòng)MySQL會(huì)報(bào)錯(cuò)。

參考手冊(cè):


?

下面我針對(duì)16K和8K做了一個(gè)壓力測(cè)試。

硬件:R710,72G內(nèi)存,6塊300G、15000轉(zhuǎn)做的RAID10,XFS分區(qū)。

my.cnf參數(shù):

1.innodb_buffer_pool_size = 48G 2.innodb_buffer_pool_instances = 8 3.innodb_flush_method = O_DIRECT 4.innodb_file_per_table = 15.innodb_read_io_threads = 16 6.innodb_write_io_threads = 16 7.innodb_io_capacity = 2000 8.innodb_log_files_in_group = 3 9.innodb_flush_log_at_trx_commit = 0 10.innodb_log_file_size = 1024M 11.innodb_max_dirty_pages_pct = 90 1.Sysbench參數(shù)(讀寫):

1.sysbench –test=oltp —mysql-table-engine=innodb –oltp-table-size=100000000 –max-requests=1000000 –num-threads=100? 2.–mysql-host=192.168.110.121? –mysql-port=3306 –mysql-user=admin –mysql-password=123456 –mysql-db=test? 3.–oltp-table-name=sbtest –mysql-socket=/tmp/mysql.sock run sbtest表1億條記錄,文件大小24G。

下面是16K性能圖:

1.innodb_page_size = 16k

?

下面是8K性能圖:

1.innodb_page_size = 8k

?

1.結(jié)論:默認(rèn)頁16K,對(duì)CPU壓力較小,平均在20% 2.8K頁,CPU壓力為30%~40%,但select吞吐量要高于16K
——————————————————————————–

2.Sysbench參數(shù)(只讀):

1.sysbench –test=oltp –mysql-table-engine=innodb –oltp-table-size=10000000 –max-requests=0 –num-threads=100? 2.–oltp-read-only=on –mysql-host=192.168.110.121? –mysql-port=3306 –mysql-user=admin –mysql-password=123456 –mysql-db=test 3. –oltp-table-name=sbtest –mysql-socket=/tmp/mysql.sock run sbtest表1億條記錄,文件大小24G。

下面是16K和8K性能圖:

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享