首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

sysbench 0.4.12 編譯安裝與 CPU 基準測試實戰指南

     編輯:MySQL 資料庫相關知識

前言

sysbench 是一款模組化、跨平台、多線程的基準測試工具,廣泛用於評估資料庫在不同系統參數下的負載表現。本文記錄在 RHEL 6.2 + MySQL 5.6.16 編譯環境下,sysbench 0.4.12 的安裝踩坑過程與 CPU 測試範例,供同類環境參考。

一、取得安裝包

專案官網:SourceForge sysbench 專案頁

下載最新 0.4.12 版本源碼包 sysbench-0.4.12.tar.gz。

二、編譯安裝流程

環境準備

  • 作業系統:RHEL 6.2
  • MySQL:5.6.16(編譯安裝於 /usr/local/mysql)
  • 相依套件:gcc、make、automake、libtool 等建構工具

標準編譯指令

tar -xvf sysbench-0.4.12.tar.gz
cd sysbench-0.4.12
./configure --with-mysql-includes=/usr/local/mysql/include \
            --with-mysql-libs=/usr/local/mysql/lib \
            && make && make install

因 MySQL 為編譯安裝,需透過 --with-mysql-includes 與 --with-mysql-libs 指定頭文件與庫文件路徑。

常見編譯錯誤與解決

執行 make 時可能遇到大量 libtool 相關錯誤:

../libtool: line 841: X--tag=CC: command not found
../libtool: line 874: libtool: ignoring unknown tag : command not found
...

根因: sysbench 自帶的 libtool 腳本與系統版本不兼容。

解決方案: 修改專案根目錄下的 aclocal.m4 文件,將:

LIBTOOL='$(SHELL) $(top_builddir)/libtool'

改為使用系統 libtool:

LIBTOOL='$(SHELL) /usr/bin/libtool'

修改後重新執行 make && make install 即可順利通過編譯。

三、執行庫依賴修復

安裝完成後直接執行 sysbench 可能報錯:

sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file

雖然 /usr/local/mysql/lib/ 下存在該文件,但動態連結器預設不搜尋此路徑。解決方式:

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/

建立軟連結至系統預設庫路徑,或將路徑加入 /etc/ld.so.conf 後執行 ldconfig。

四、CPU 基準測試範例

sysbench --test=cpu --cpu-max-prime=20000 run

測試參數解析

  • --test=cpu:指定 CPU 測試模組
  • --cpu-max-prime=20000:設定質數運算上限,數值越大運算負載越重

輸出結果解讀

Test execution summary:
    total time:                          40.4541s
    total number of events:              10000
    total time taken by event execution: 40.4165
    per-request statistics:
         min:                                  3.64ms
         avg:                                  4.04ms
         max:                                  21.82ms
         approx.  95 percentile:               5.20ms
  • total time:整體測試耗時,反映 CPU 運算吞吐能力
  • per-request statistics:單次運算延遲分佈,avg 為平均值,max 為極值
  • 95 percentile:95% 請求的完成時間,適合評估穩定性能

五、延伸應用

sysbench 亦支援檔案 I/O、記憶體、線程調度、OLTP 等多種測試模組,可根據需求組合測試場景。後續文章將分享 OLTP 資料庫壓測實戰配置。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved