測試環境
作業系統:linux as release 4,核心2.6.9-42.elsmp #1 smp
cpu:intel(r) xeon(tm) cpu 3.00ghz,4核
記憶體:1g,主要執行mysql服務
硬碟:cciss 37g
檔案系統:ext3,支援大檔案
mysql:mysql-5.0.51a
網絡卡:100m
網路環境:100m交換區域網
測試方法
資料規模分為1萬條、10萬條、100萬條和1000萬條記錄級別。
在每種資料規模下分別執行2000次隨機查詢,這樣可以防止資料庫直接從快取中返回查詢結果,更加接近真實的查詢情況。以系統時間為隨機種子,在現有的記錄範圍內隨機執行查詢操作。
查詢型別分為:單錶select、雙表select、insert、單錶delete和雙表delete。
因為myisam和innodb是mysql使用最多的兩種引擎,也是我們公司目前使用最頻繁的引擎,因此分別做對比測試有一定的參考價值。
每個執行條目都為單次查詢的平均執行時間,單位為微妙。如果要看整體執行時間,則乘以2000即可。
由於指令碼插入資料很慢,採用mysql客戶端工具測試效率很低且不能保證足夠的隨機性,所以插入資料和測試效能都是自己編寫相應的程式來完成。
開啟二進位制更新日誌。
測試記錄
測試資料
myisam引擎跨主機查詢操作平均執行時間(單位:微秒)
專案記錄數
單錶select
雙表select
insert
update
單錶delete
雙表delete
1萬條10萬條
100萬條
1000萬條
myisam引擎本地查詢操作平均執行時間(單位:微秒)
專案記錄數
單錶select
雙表select
insert
update
單錶delete
雙表delete
1萬條10萬條
100萬條
1000萬條
發現對innodb的配置引數進行優化後,更新和插入速度可以提高10倍多。
innodb引擎跨主機單次查詢操作平均執行時間(單位:微秒)
專案記錄數
單錶select
雙表select
insert
update
單錶delete
雙表delete
1萬條10萬條
100萬條
1000萬條
innodb引擎本地單次查詢操作平均執行時間(單位:微秒)
專案記錄數
單錶select
雙表select
insert
update
單錶delete
雙表delete
1萬條10萬條
100萬條
1000萬條
效能比較
單錶select
雙表select
insert操作
update操作
單錶delete
雙表delete
效能分析
1、可以看出在mysql 5.0裡面,myisam和innodb儲存引擎效能差別並不是很大,與官方的說法基本接近。
2、1萬和10萬的select、delete或update操作都很快,1毫秒以下。
3、insert操作效能降低較慢,受資料規模影響相對較小。
4、效能從10萬條規模公升到100萬條時降低非常明顯,從100萬到1000萬效能降低更明顯。
5、innodb引擎在預設引數配置下效能較差。
innodb_buffer_pool_size = 600m
innodb_additional_mem_pool_size = 64m
# set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 256m
#innodb_log_buffer_size = 8m
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
innodb_file_per_table
其中innodb_flush_log_at_trx_commit和innodb_file_per_table對i/o效能影響最大。
7、my-large.cnf等檔案只是優化myisam引擎的引數,這一點在優化配置時特別要注意。
8、在資料規模較大(100萬條以上),innodb引擎效能有相對優勢。
9、在資料規模較小(10萬條以下),myisam引擎效能有相對優勢。
MySQL效能測試分析
分類 資料庫開發與應用 2009 10 16 03 07 1824人閱讀收藏 舉報 目錄 測試環境 測試方法 測試記錄 測試資料 效能比較 效能分析 目錄 測試環境 測試方法 測試記錄 測試資料 效能比較 效能分析 測試環境 作業系統 linux as release 4,核心2.6.9 42.el...
MySQL效能測試分析
mysql效能測試分析 作業系統 linux as release 4,核心2.6.9 42.elsmp 1 smp cpu intel r xeon tm cpu 3.00ghz,4核 記憶體 1g,主要執行mysql服務 硬碟 cciss 37g 檔案系統 ext3,支援大檔案 mysql my...
mysql 效能分析 Mysql效能分析
優化mysql資料庫效能的十個引數 1 max connections 允許的同時客戶的數量。增加該值增加 mysqld 要求的檔案描述符的數量。這個數字應該增加,否則,你將經常看到 too many connections 錯誤。預設數值是100,我把它改為1024 2 record buffer...