用tpcc測試對比 innodb 和 tokudb

測試環境 1臺IBM Intel(R) Xeon(R) CPU           E5606  @ 2.13GHz,內存12Gmysql

 

cd tpcc/tpcc-mysql/srclinux

# makesql

cc load.o support.o `mysql_config --libs_r` -lrt -o ../tpcc_load緩存

/usr/bin/ld: cannot find -lperconaserverclient併發

collect2: ld 返回 1性能

make: *** [../tpcc_load] 錯誤 1測試

 

# vi /etc/ld.so.conf.d/percona-x86_64.confspa

/usr/local/percona/lib日誌

 

# ldconfig -v  可看到orm

/usr/local/percona/lib:

        libHotBackup.so -> libHotBackup.so

        libperconaserverclient.so.18 -> libperconaserverclient_r.so.18.1.0

但 make 依然出錯

# mysql_config --libs_r 輸出

-L/usr/local/percona/lib/mysql -lperconaserverclient -lpthread -lm -lrt -lssl -lcrypto -ldl

/usr/local/percona/lib/mysql 下沒有 libperconaserverclient.so 文件,但在 /usr/local/percona/lib 下有,作個連接

# cd /usr/local/percona/lib/mysql

# ln -s ../libperconaserverclient.so libperconaserverclient.so

編譯經過了

 

要對腳本作適當修改,建表 create_table.sql

sed -i 's/Engine=InnoDB/Engine=tokudb/' create_table.sql

add_fkey_idx.sql 刪除外建相關語句

 

 

load 100庫

innodb 8.3G 1小時22分鐘

tokudb 6.5G 1小時39分鐘

看上去壓縮效果並不明顯,緣由應該是tpcc的模擬數據隨機性比較大,重複率低,咱們日誌庫的壓縮率就很是明顯,是原來的1/8左右。

 

首次sql執行時間(秒)

select count(*) from customer;

innodb 1.06 tokudb 2.79

 

調整緩存 innodb 1G tokudb 8G 重啓後測tokudb

停機時 InnoDB: Waiting for page_cleaner to finish flushing of buffer pool 花了2,3分鐘

io wait 降到10%~20%+

第一次 7023.700 TpmC 第二次

tokudb_row_format = tokudb_uncompressed

第一次 6646.050 TpmC 第二次 7344.450 TpmC

結論:不壓縮整體結果並沒有明顯優點

 

200倉庫繼續測試,tokudb_row_format = tokudb_fast

tokudb 佔用 12G

導入費時 2時46分  加索引費時 35分鐘

32併發,預熱2分鐘,測試20分鐘

第一次 4884.400 TpmC 第二次 4735.650 TpmC

64併發

第一次 5333.250 TpmC

 

 

總倉庫數

壓測倉庫數

緩存

GB

禁用系統緩存

併發

鏈接數

TpmC

第1次

TpmC

第2次

tokudb

100

100

4

32

1719.300

 

Innodb

100

100

4

32

1531.000

 

 

 

 

 

 

 

+12.30%

 

tokudb

100

100

4

64

2182.650

 

Innodb

100

100

4

64

2322.500

 

 

 

 

 

 

 

-6.02%

 

tokudb

200

100

10

64

6481.750

 

Innodb

200

100

10

64

3199.000

 

 

 

 

 

 

 

+102.62%

 

tokudb

200

200

10

64

2683.150

 

Innodb

200

200

10

64

1206.750

 

 

 

 

 

 

 

+122.35%

 

tokudb

400

400

10

64

953.900

1047.800

Innodb

400

400

10

64

311.200

498.950

 

 

 

 

 

 

+207%

+110%

tokudb

400

200

10

64

2981.900

2745.450

Innodb

400

200

10

64

851.300

1992.200

 

 

 

 

 

 

+250%

+38%

tokudb

400

200

8

64

1889.500

 

tokudb

400

200

4

64

1452.100

 

tokudb

400

200

1

64

551.700

 

注:預熱時間2分鐘,壓測時間20分鐘,壓測結果均符合要求;

 

整體結論:tokudb推薦用壓縮數據,性能比innodb好,在數據量大的狀況下表現更明顯。

 

linux禁用文件緩存:# echo 1 > /proc/sys/vm/drop_caches

相關文章
相關標籤/搜索