廠商SSD對數據庫性能影響
1、前言..........................................................................................3
2、HDD測試..................................................................................4
3、SSD測試...................................................................................5
4、數據分析..................................................................................7
5、參考文檔................................................................................10
TPC(Transaction
Processing Performance Council,事務處理性能委員會)是由數十家會員公司創建的非盈利組織,總部設在美國。TPC的成員主要是計算機軟硬件廠家,而非計算機用戶,其功能是制定商務應用基準程序的標準規范、性能和價格度量,并管理測試結果的發布。
TPC
Benchmark H(TPC-H)是一個決策支持的基準測試,是美國事務處理效能委員會(TPC,Transaction
Processing Performance Council)組織制定的用來模擬決策支持類應用的一個測試集。目前,在學術界和工業界普遍采用它來評價決策支持技術方面應用的性能.這種商業測試可以全方位評測系統的整體商業計算綜合能力,對廠商的要求更高,同時也具有普遍的商業實用意義,目前在銀行信貸分析和信用卡分析、電信運營分析、稅收分析、煙草行業決策分析中都有廣泛的應用。TPC-H基準測試包括22個查詢(Q1~Q22),其主要評價指標是各個查詢的響應時間,即從提交查詢到結果返回所需時間。基準里選擇的查詢和組成數據庫的數據在商業上都具有廣泛的代表性并且易于實現。
本文選擇Mysql數據庫進行TPCH測試,在此基礎上對比廠商SSD和希捷HDD對Mysql性能影響。具體測試機配置如下表。
測試機
Lenovo RD640
CPU
E5-2650 0 @ 2.00GHz(8 core,16 threads,L3? cache 20MB)
內存
64G(16G*4)
RAID卡
LSI MegaRAID SAS 9270-8i,1024MB,BBU:? Absent,Serial No: SV32790598
系統
CentOS release 6.4 (Final)
內核
2.6.32-358.el6.x86_64 #1 SMP
IO調度
cfq
MySQL版本
mysql-5.6.26-linux-glibc2.5-x86_64
MySQL引擎
InnoDB
2.基準測試
2.1測試環境
raid級別
raid 0
文件系統
ext4
硬盤
7.99
TB(2.0TB*4),RAID0
Logical Unit id:0x6003048006742a001f693d4136dabc1d
Serial number:001dbcda36413d691f002a7406800403
Product:MR9270-8i希捷3.5’ 7200r SATA
2.2dd測試結果
SSD RAID0寫速度1.5GB/s,讀的速度是1.7GB/s
HDD RAID0寫速度600 MB/s,讀的速度是600 MB/s.
2.3hdparm測試結果
SSD RAID0讀速度1.1GB/s,
HDD RAID0讀速度600MB/s
2.4iozone測試結果
SSD測試數據
iozone -i 0 -i 1 -i 2 -s 200G -r 4M –f
"Writer report"
"4096"
"209715200" 717178
"Reader report"
"4096"
"209715200" 1564658
"Random read report"
"4096"
"209715200" 639057
"Random write report"
"4096"
"209715200" 933672
3.HDD測試
3.1測試環境
raid級別
raid 0
文件系統
ext4
硬盤
7.99
TB(2.0TB*4),RAID0
Logical Unit id:0x6003048006742a001f693d4136dabc1d
Serial number:001dbcda36413d691f002a7406800403
Product:MR9270-8i希捷3.5’ 7200r SATA
測試工具
tpch
tpch測試參數:10G
MySQL關鍵選項配置(my.cnf)
innodb_additional_mem_pool_size=16M
innodb_buffer_pool_size=2G
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=64M
innodb_log_file_size=256M
innodb_log_files_in_group=2
innodb_flush_method=O_DIRECT
innodb_file_per_table=1
innodb_status_file=1
max_heap_table_size=596M
tmp_table_size=596M
sort_buffer_size=2M
join_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=2M
query_cache_size=0
3.2測試結果
本次測試開始于9月19日18:57,至今尚未完成,根據已經得到的結果推測,本測試至少還要持續三天。已經得到的結果如下:
注:超過3小時的查詢被強制結束,沒有實際結果。
4.SSD測試
4.1測試環境
raid級別
raid 0
文件系統
ext4
硬盤
256GB*4, RAID0
Logical Unit id:0x600605b09a335c101f6936e7191adedf
Serial number:00dfde1a19e736691f105c339ab00506
Product:SMC2108
測試工具
tpch
tpch測試參數:10G
MySQL關鍵選項配置(my.cnf)
innodb_additional_mem_pool_size=16M
innodb_buffer_pool_size=2G
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=64M
innodb_log_file_size=256M
innodb_log_files_in_group=2
innodb_flush_method=O_DIRECT
innodb_file_per_table=1
innodb_status_file=1
max_heap_table_size=596M
tmp_table_size=596M
sort_buffer_size=2M
join_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=2M
query_cache_size=0
4.2測試結果
5.1SSD VS SSD
對比SSD RAID0存儲在不同內存buffer下的結果,通過圖表可以發現內存buffer的提升在SSD存儲的情況下對性能提升很小,查詢時間基本沒有變化。
5.2SSD VS HDD(buffer小于數據)
對比SSD和HDD在buffer(2G)明顯小于數據(10G)的情況下的查詢時間,通過圖表可以發現,SSD對查詢性能的提升非常巨大,多數查詢獲得10倍以上的性能提升,半數能夠獲得100倍的性能提升。
注:超過10000秒查詢結果的統一設置為10000
5.3SSD VS HDD(buffer大于數據)
對比SSD和HDD在buffer(26G)明顯大于數據(10G)的情況下的查詢時間,通過圖表可以發現,SSD存儲對性能提升很小,查詢時間基本沒有變化。
http://imysql.com/2012/12/21/tpch-for-mysql-manual.html
https://www.percona.com/blog/2008/04/10/tpc-h-run-on-mysql-51-and-60/