天天看點

Sysbench性能測試(一):sysbench簡介與安裝

Sysbench性能測試

傳送門:

Sysbench性能測試(一): sysbench簡介與安裝

Sysbench性能測試(二): sysbench基本使用和CPU性能測試

Sysbench性能測試(三): 記憶體性能測試

Sysbench性能測試(四): 檔案I/O性能測試

Sysbench性能測試(五): 資料庫性能測試

1 sysbench簡介

​ sysbench是一個子產品化的、跨平台的多線程性能測試工具,它最常用于資料庫基準測試,但也可用于建立不涉及資料庫伺服器的複雜工作負載,如CPU、記憶體、磁盤I/O、線程以及互斥鎖的性能測試。sysbench是基于LuaJIT的可編寫腳本的多線程基準測試工具。本文所用sysbench版本為1.0.20。

​ sysbench支援如下的基準測試:

  • CPU性能測試
  • 檔案I/O性能測試
  • 記憶體性能測試
  • 資料庫性能測試
  • 線程子系統性能測試
  • 互斥鎖性能測試

2 sysbench安裝

2-1 源碼連結
https://github.com/akopytov/sysbench //源碼可在github下載下傳
           
2-2 安裝過程
  1. 下載下傳軟體包,并解壓
  2. 檢查是否滿足安裝所需依賴:make、automake、libtool、pkgconfig、libaio-devel、vim-common
  3. 進入到sysbench源碼目錄,執行autogen.sh生成configure檔案
    cd sysbench-1.0
    ./autogen.sh
               
  4. 執行configure
    ./configure --with-mysql --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
               
    如果mysql為标準安裝,可以直接運作configue,否則需要在配置檔案中指定如下參數:
    • with-mysql-includes路徑為mysql.h 檔案所在目錄,可通過find / -name mysql.h查找
    • with-mysql-libs路徑為libmysqlclient.so 所在目錄,可通過find / -name libmysqlclient.so查找
  5. 執行 make && make install
    make
    make install
               
  6. 測試是否安裝成功
    sysbench --version
               
    安裝成功後,所有sysbench自帶的壓測lua腳本都可以在

    /usr/local/share/sysbench

    目錄下找到。
2-3 安裝過程可能的錯誤
  1. 執行完2-2中第五步後,運作

    sysbench --version

    出現錯誤:
    [[email protected] ~]# sysbench --version
    /usr/local/sysbench/bin/sysbench: error while loading shared libraries: libmysqlclient.so.21: cannot open shared object file: No such file or directory
               
    解決方法:
    • 檢查動态連結庫是否存在

      libmysqlclient.so.21

      [[email protected] ~]# ldconfig -p| grep mysql
      	libmysqlclient.so.18 (libc6,AArch64) => /usr/lib64/mysql/libmysqlclient.so.18
                 
    • 不存在,則建立軟連接配接并重新整理動态連結庫
      [[email protected] ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.21 /usr/lib/
      [[email protected] ~]# ldconfig
                 
    • 再次檢查動态連結庫
      [[email protected] ~]# ldconfig -p| grep mysql
      	libmysqlclient.so.21 (libc6,AArch64) => /lib/libmysqlclient.so.21
      	libmysqlclient.so.18 (libc6,AArch64) => /usr/lib64/mysql/libmysqlclient.so.18
                 
    • 此時運作

      sysbench --version

      成功
      [[email protected] ~]# sysbench --version
      sysbench 1.0.20