歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Sysbench 0.4.12安裝以及測試

sysbench是一個模塊化的、跨平台、多線程基准測試工具,主要用於評估測試各種不同系統參數下的數據庫負載情況。它主要包括以下幾種方式的測試:

    1、cpu性能

    2、磁盤io性能

    3、調度程序性能

    4、內存分配及傳輸速度

    5、POSIX線程性能

    6、數據庫性能(OLTP基准測試

    目前sysbench主要支持 MySQL,pgsql,Oracle 這3種數據庫。


本文只是在linux CentOS 的 MySQL環境下安裝sysbench0.4.12

安裝

在安裝sysbench之前,系統必須先要安裝好MySQL。本文中MySQL是系統自帶的,要是系統沒有安裝MySQL,可以使用如下命令安裝:

    Yum install mysql*

1、軟件包下載

       http://sourceforge.net/projects/sysbench

2、解壓

   Tar –zxvf sysbench-0.4.12.tar.gz

3、安裝

  進入sysbench-0.4.12

  Cd sysbench-0.4.12

在正式安裝之前必須要運行autogen.sh文件,否則會出現libtool無法執行等相關錯誤。執行如下命令:

 chmod  +x autogen.sh

 ./autogen.sh

下面開始正式安裝安裝

  因為這裡mysql是標准的智能包安裝(rpm),sysbench的安裝就比較簡單

./configure

 Make

 Make install
若mysql是源碼安裝的話,編譯時按如下方式進行

/configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib && make && make install

這裡/usr/local/mysql/include是mysql的安裝路徑

    另外,如果想要讓 sysbench 支持 pgsql/oracle 的話,就需要在編譯的時候加上參數

    --with-pgsql

    或者

    --with-oracle

    這2個參數默認是關閉的,只有 MySQL 是默認支持的
二、編譯成功之後,就要開始測試各種性能了,測試的方法官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠准確。在這裡我大致提一下:

    1、cpu性能測試 

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

    cpu測試主要是進行素數的加法運算,在上面的例子中,指定了最大的素數為 20000,自己可以根據機器cpu的性能來適當調整數值。 


 2、線程測試 

    sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run 


3、磁盤IO性能測試 

    sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw preparesysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw runsysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup

        上述參數指定了最大創建16個線程,創建的文件總大小為3G,文件讀寫模式為隨機讀。 

 4、內存測試 

    sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run

    上述參數指定了本次測試整個過程是在內存中傳輸 4G 的數據量,每個 block 大小為 8K。

5、OLTP測試

    sysbench --test=oltp --mysql-table-engine=myisam --oltp-table-size=1000000 --mysql-socket=/tmp/mysql.sock --mysql-user=test --mysql-host=localhost --mysql-password=test prepare

    上述參數指定了本次測試的表存儲引擎類型為 myisam,這裡需要注意的是,官方網站上的參數有一處有誤,即 --mysql-table-engine,官方網站上寫的是 --mysql-table-type,這個應該是沒有及時更新導致的。另外,指定了表最大記錄數為 1000000,其他參數就很好理解了,主要是指定登錄方式。測試 OLTP 時,可以自己先創建數據庫 sbtest,或者自己用參數 --mysql-db 來指定其他數據庫。--mysql-table-engine 還可以指定為 innodb 等 MySQL 支持的表存儲引擎類型

Copyright © Linux教程網 All Rights Reserved