程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 淺析MySQL數據庫OLTP基准測試

淺析MySQL數據庫OLTP基准測試

編輯:關於PHP編程

淺析MySQL數據庫OLTP基准測試


sysbench是一款非常優秀的基准測試工具,它能夠精准的模擬MySQL數據庫存儲引擎InnoDB的磁盤的I/O模式。因此,基於sysbench的這個特性,下面利用該工具,對MySQL數據庫支撐從簡單到復雜事務處理工作負載的基准測試與驗證。

測試場景一、OLTP讀基准測試

1) 准備數據

sysbench --test=oltp--mysql-table-engine=innodb --oltp-table-size=100000

--mysql-db=cbusdb --mysql-user=root prepare

2) OLTP隨機讀一致性業務場景測試驗證

time sysbench --test=oltp --oltp-table-size=100000--mysql-db=cbusdb

--mysql-user=root --max-time=60--oltp-read-only --max-requests=0 --num-threads=8 run

以上測試模擬並發8個線程,最大請求10000次/秒,持續60秒對單表數據集10w條數據量的表進行隨機讀操作,測試結果如下所示:

通過模擬8個並發用戶在數據量10w條的表上進行一致性讀操作並結合上圖,分析得出如下結論:

1) 60秒內共執行讀請求766094次,更新及其他類型的請求109442次,QPS:12765;

2) 60s內共執行事務操作54721,TPS:911,成功率100%;

3) 每個事務執行最小時間2.98ms,最大時間184.5ms,平均執行時間8.76ms。

以上測試結果運行環境基本配置信息:

1) 虛擬機2顆CPU、2G內存,20G存儲空間;

2) MySQL數據庫參數未優化、調整。

測試場景二、OLTP混合類型負載測試

模擬OLTP隨機讀、寫(更新、刪除、插入):

sysbench --test=oltp--mysql-table-engine=innodb --oltp-table-size=10000

--mysql-db=cbusdb --mysql-user=root--max-time=60

--oltp-nontrx-mode=update_key--max-requests=0 --num-threads=8 run

測試結果如下所示:


通過模擬8個並發用戶在數據量10w條的表上模擬復雜的混合性工作負載測試並結合上圖,分析得出如下結論:

1) 60秒內共執行讀請求233268次,寫請求83260次,其他類型的請求:33309,QPS:5273;

2) 60s內共執行事務操作16647,TPS:277,鎖沖突造成的死鎖的數量15個,事務的成功率99.91%;

3) 每個事務執行最小時間8.19ms,最大時間1299.78ms,平均執行時間28.82ms。

以上測試結果運行環境基本配置信息:

1) 虛擬機2顆CPU、2G內存,20G存儲空間;

2) MySQL數據庫參數未優化、調整。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved