KunlunDB 0.9.1版本Sysbench效能測試報告
概述
kunlun-0.9.1的效能測試主要使用Sysbench進行,分為oltp測試和olap測試兩大部分。
-
對於oltp測試,主要包含4種操作:read&write、write only、update_non_index、update_index,測試目的主要是檢查新推出的強一致性模式(rbr),對比MySQL的官方強一致性方案(mgr)效能有多大提升。由於網路不是瓶頸,主要在內網的機器中進行。
-
對於olap測試,則主要包含: point select、simple range select、sum range select, order by range select、distinct range select,主要在AWS EC2的機器上執行,因為某些select操作對網路要求很高,少量操作就能用滿千兆網,需要萬兆網才能測出最好效能。另一目的則是衡量AWS上不同配置的效能價格比。
oltp測試
基本配置情況
本測試分為2個部分:
-
rbr: 使用RBR複製模式構建的叢集,此為企業版獨有。
-
mgr: 使用MGR複製模式構建的叢集,此為開源版和企業版都有。
客戶端: 測試客戶端使用一臺AMD Ryzen 9 5950X + 64GB記憶體的機器,其上部署sysbench以及HAProxy, sysbench將請求發往HAProxy, HAProxy將請求發往三個計算節點。
資料:總共為18個表,每個表1000萬記錄,總資料量為36G,分到3個Shard裡面,資料在shard間均勻分佈,每個shard含有6個表,12G。
叢集配置:叢集使用三臺機器,且做對等部署, 每臺機器上部署一個後設資料節點,一個計算節點, 一個shard的primary和另外兩個shards的replicas,三臺機器配置為:
-
§ AMD Ryzen 9 5950X + 64G + 1TB SSD
-
§ AMD Ryzen 9 5950X + 128GB + 1TB SSD
-
§ AMD Ryzen 9 5950X + 128GB + 1TB SSD
快取命中率: 每個資料節點innodb_buffer_pool_size為12G,meta node的innodb_buffer_pool_size為512MB,快取命中100%,計算節點使用預設的記憶體配置。
測試情況:
-
測試執行緒為:300 400 500 600 700 800 900 1000。
-
總共測試四種操作:read&write、write only、update_non_index、update_index。
-
每個執行緒下每個操作執行時間為5分鐘。
測試結果
總體結果:
-
rbr為0.9.1版本新推出的,針對mgr複製模式的改進模式,從測試結果看,效能提升顯著。
-
對於read&write:中低(<=600)執行緒下,mgr和rbr表現差不多,執行緒數>=700時, rbr對比mgr產生較大效能差,最高到接近3倍。
-
對於write only:低(<=400)執行緒下, rbr約為mgr的1.5倍,中高執行緒下,rbr為mgr的2倍以上。
-
對於update_non_index和update_index:rbr平均超過mgr的2倍。
read&write
Sysbench命令:
./sysbench --max-time=300 --test=tests/db/oltp.lua --pgsql-host=$host --pgsql-port=$port --pgsql-db=$dbname--oltp_tables_count=$tblcnt --oltp-table-size=$tblsize --oltp-write->rbr的結果:
mgr的結果:
write only
Sysbench命令:
./sysbench --max-time=300--test=tests/db/oltp.lua --pgsql-host=$host --pgsql-port=$port --pgsql-db=$dbname --oltp_tables_count=$tblcnt--oltp-table-size=$tblsize --oltp-write->rbr的結果:
mgr的結果:
update_non_index
Sysbench命令:
./sysbench --max-time=300--test=tests/db/update_non_index.lua --pgsql-host=$host --pgsql-port=$port --pgsql-db=$dbname --oltp_tables_count=$tblcnt--oltp-table-size=$tblsize --oltp-write->rbr的結果:
mgr的結果:
update_index
Sysbench命令:
./sysbench --max-time=300--test=tests/db/update_index.lua --pgsql-host=$host --pgsql-port=$port--pgsql-db=$dbname --oltp_tables_count=$tblcnt --oltp-table-size=$tblsize--oltp-write->rbr的結果:
mgr的結果:
olap測試
olap測試根據資源利用的情況,調整了機型的配置,以衡量不同配置下叢集的整體表現,這裡主要使用三種配置(僅列出不同):
-
配置1:計算節點使用3臺C5.4xlarge, 儲存節點使用3臺i3.4xlarge,此配置僅測了point select的操作,因為很快發現儲存節點CPU成為瓶頸。
-
配置2:計算節點使用3臺C5.4xlarge, 儲存節點使用3臺c5d.9xlarge
-
配置3:計算節點使用3臺C5.9xlarge, 儲存節點使用3臺c5d.9xlarge
基本配置情況
本測試使用RBR複製模式構建的叢集,此為企業版獨有。
測試客戶端採用3臺C5.4xlarge來執行sysbench, 通過aws load balancer做分流,將請求發向3個計算節點。
叢集配置:
- rbr: 後設資料叢集使用3臺m5.xlarge, 包含3個shards, 每個shard都是三副本,每臺儲存機器上具有一個shard的primary和另外兩個shards的replicas.
資料:總共為18個表,每個表1000萬記錄,總資料量為36G,資料在shard間均勻分佈,每個shard含有6個表,12G。
快取命中率:每個資料節點innodb_buffer_pool_size為20G,meta node的innodb_buffer_pool_size為1G,快取命中100%。
測試情況:
-
每臺sysbench客戶端測試執行緒為:50 100 200 300 400 500。
-
總共測試5種操作: point selects、simple range selects、sum range selects、order by range selects、distinct range selects。
-
每個執行緒下每個操作執行時間為5分鐘。
叢集成本:
-
配置1 = 3 (m5.xlarge + i3.4xlarge + c5.4xlarge) = 3 * (1.356 + 9.365 + 3.943) = 3 * 14.664 = 44 CNY / hour。
-
配置2 = 3 (m5.xlarge + c5d.9xlarge + c5.4xlarge) = 3 * (1.356 + 10.721 + 3.943) = 3 * 16.02 = 48 CNY / hour。
-
配置3 = 3 (m5.xlarge + c5d.9xlarge + c5.9xlarge) = 3 * (1.356 + 10.721 + 8.872) = 3 * 20.949 = 63 CNY / hour。
測試結果
總體結果分析:
-
通過使用aws cloudwatch分析EC2的資源利用情況,能夠更好的發現效能瓶頸,以便調整配置獲得更好的效能價格比。
-
測試的目的之一是為了衡量雲上不同配置下的效能價格比,每個具體操作後面都給出了價效比的折線圖,更直觀的顯示對比結果。從結果上看,配置3能夠更好發揮叢集各部分的整體效能,具有更高的效能價格比(qps/price per hour)。
-
由於儲存節點基於mysql開發, 具有完整的SQL解析執行功能,儲存節點比其他競品的儲存節點具有更強大的功能,但也要求更高的CPU,在複雜查詢下效能也更出色。
-
除point select外的其他聚集類查詢對網路要求較高,在AWS上更容易展現出高效能,機房內的1Gb/s的網路中,網路先到瓶頸,無法測出高效能。
point selects
Sysben命令:
./sysbench --max-time=300 --test=tests/db/oltp.lua --pgsql-host=$host --pgsql-port=$port --pgsql-db=$dbname--oltp_tables_count=$tblcnt --oltp-table-size=$tblsize --oltp-write->rbr模式的結果:
simple range selects
Sysbench命令:
./sysbench --max-time=300 --test=tests/db/oltp.lua --pgsql-host=$host --pgsql-port=$port --pgsql-db=$dbname --oltp_tables_count=$tblcnt--oltp-table-size=$tblsize --oltp-write->rbr模式的結果:
sum range selects
Sysbench命令:
./sysbench --max-time=300 --test=tests/db/oltp.lua --pgsql-host=$host --pgsql-port=$port --pgsql-db=$dbname--oltp_tables_count=$tblcnt --oltp-table-size=$tblsize --oltp-write->rbr模式的結果:
order by range selects
Sysbench命令:
./sysbench --max-time=300 --test=tests/db/oltp.lua --pgsql-host=$host --pgsql-port=$port --pgsql-db=$dbname--oltp_tables_count=$tblcnt --oltp-table-size=$tblsize --oltp-write->rbr模式的結果:
distinct range selects
Sysbench命令:
./sysbench --max-time=300 --test=tests/db/oltp.lua --pgsql-host=$host --pgsql-port=$port --pgsql-db=$dbname --oltp_tables_count=$tblcnt--oltp-table-size=$tblsize --oltp-write->rbr模式的結果:
END
崑崙資料庫是一個HTAP NewSQL分散式資料庫管理系統,可以滿足使用者對海量關係資料的儲存管理和利用的全方位需求。
應用開發者和DBA的使用崑崙資料庫的體驗與單機MySQL和單機PostgreSQL幾乎完全相同,因為首先崑崙資料庫支援PostgreSQL和MySQL雙協議,支援標準SQL:2011的 DML 語法和功能以及PostgreSQL和MySQL對標準 SQL的擴充套件。同時,崑崙資料庫叢集支援水平彈性擴容,資料自動拆分,分散式事務處理和分散式查詢處理,健壯的容錯容災能力,完善直觀的監測分析告警能力,叢集資料備份和恢復等 常用的DBA 資料管理和操作。所有這些功能無需任何應用系統側的編碼工作,也無需DBA人工介入,不停服不影響業務正常執行。
崑崙資料庫具備全面的OLAP 資料分析能力,通過了TPC-H和TPC-DS標準測試集,可以實時分析最新的業務資料,幫助使用者發掘出資料的價值。崑崙資料庫支援公有云和私有云環境的部署,可以與docker,k8s等雲基礎設施無縫協作,可以輕鬆搭建雲資料庫服務。
請訪問 獲取更多資訊並且下載崑崙資料庫軟體、文件和資料。
KunlunDB專案已開源
【GitHub:】
【Gitee:】
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011764/viewspace-2893572/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 Sysbench 進行 Linux 效能測試Linux
- 資料庫效能測試:sysbench用法詳解資料庫
- sysbench 測試MySQLMySql
- mysql之 sysbench0.4.12資料庫效能測試MySql資料庫
- 開源多執行緒效能測試工具-sysbench執行緒
- 效能測試報告編寫技巧測試報告
- 軟體效能測試報告應該包含的內容,效能測試報告需要多少錢?測試報告
- 軟體效能測試報告怎麼編寫?哪些機構可以出具效能測試報告測試報告
- sysbench 壓力測試
- MySQL 效能壓測工具-sysbench,從入門到自定義測試項MySql
- 軟體效能測試有哪些測試指標?效能測試報告怎麼編寫?指標測試報告
- 通過sysbench工具實現MySQL資料庫的效能測試MySql資料庫
- 測試計劃&效能測試分析報告模板(僅供參考)
- [轉帖]sysbench基準測試
- 移動app效能測試有哪些需要進行?效能測試報告如何收費?APP測試報告
- 軟體效能測試計劃如何進行?權威效能測試報告需要多少錢?測試報告
- GreatSQL TPC-H 效能測試報告正式釋出!SQL測試報告
- TDengine 和 InfluxDB 查詢效能對比測試報告UX測試報告
- 軟體效能測試報告起著什麼作用?第三方測試報告如何收費?測試報告
- 資料庫基準測試工具 sysbench資料庫
- mysql ,tidb sysbench 測試結果記錄MySqlTiDB
- JICMAIL:2021年A/B測試優化郵件效能報告AI優化
- Linux 檢視計算機各個硬體的效能: sysbench (多執行緒效能測試工具)Linux計算機執行緒
- Allure測試報告測試報告
- Jumper 測試報告測試報告
- 雲測試報告測試報告
- 測試計劃和測試報告測試報告
- TDengine 釋出效能測試報告,寫入效能達到 InfluxDB 的 10.6 倍測試報告UX
- 為 java 開發者設計的效能測試框架,用於壓測+測試報告生成Java框架測試報告
- 重新定義 Locust 的測試報告_效能監控平臺測試報告
- 利用sysbench進行MySQL OLTP基準測試MySql
- 使用sysbench測試mysql及postgresql(完整版)MySql
- Sysbench測試神器:一條命令生成百萬級測試資料
- 測試總結報告
- 滲透測試報告測試報告
- 一場為企業服務開發的效能測試報告測試報告
- NewSQL資料庫壓力測試工具系列——SysbenchSQL資料庫
- 移動App效能測試包含哪些內容?權威的軟體測試報告如何獲取?APP測試報告