| 導購 | 订阅 | 在线投稿
分享
 
 
 

sysbench的安裝和做性能測試

來源:互聯網網民  2008-05-21 09:45:32  評論

sysbench是一個模塊化的、跨平台、多線程基准測試工具,主要用于評估測試各種不同系統參數下的數據庫負載情況。關于這個項目的詳細介紹請看:http://sysbench.sourceforge.net。

它主要包括以下幾種方式的測試:

1、cpu性能

2、磁盤io性能

3、調度程序性能

4、內存分配及傳輸速度

5、POSIX線程性能

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

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

一、安裝

首先,在 http://sourceforge.net/projects/sysbench 下載源碼包。

接下來,按照以下步驟安裝:

tar zxf sysbench-0.4.8.tar.gzcd sysbench-0.4.8./configure && make && make installstrip /usr/local/bin/sysbench

以上方法適用于 MySQL 安裝在標准默認目錄下的情況,如果 MySQL 並不是安裝在標准目錄下的話,那麽就需要自己指定 MySQL 的路徑了。比如我的 MySQL 喜歡自己安裝在 /usr/local/mysql 下,則按照以下方法編譯:

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

當然了,用上面的參數編譯的話,就要確保你的 MySQL lib目錄下有對應的 so 文件,如果沒有,可以自己下載 devel 或者 share 包來安裝。

另外,如果想要讓 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 支持的表存儲引擎類型。

好了,主要的就是這些了,想要了解更多信息就訪問 sysbench 項目的主頁吧。

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
  sysbench是一個模塊化的、跨平台、多線程基准測試工具,主要用于評估測試各種不同系統參數下的數據庫負載情況。關于這個項目的詳細介紹請看:http://sysbench.sourceforge.net。   它主要包括以下幾種方式的測試:   1、cpu性能   2、磁盤io性能   3、調度程序性能   4、內存分配及傳輸速度   5、POSIX線程性能   6、數據庫性能(OLTP基准測試)   目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。   一、安裝   首先,在 http://sourceforge.net/projects/sysbench 下載源碼包。   接下來,按照以下步驟安裝:   tar zxf sysbench-0.4.8.tar.gzcd sysbench-0.4.8./configure && make && make installstrip /usr/local/bin/sysbench   以上方法適用于 MySQL 安裝在標准默認目錄下的情況,如果 MySQL 並不是安裝在標准目錄下的話,那麽就需要自己指定 MySQL 的路徑了。比如我的 MySQL 喜歡自己安裝在 /usr/local/mysql 下,則按照以下方法編譯:   /configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib && make && make install   當然了,用上面的參數編譯的話,就要確保你的 MySQL lib目錄下有對應的 so 文件,如果沒有,可以自己下載 devel 或者 share 包來安裝。   另外,如果想要讓 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 支持的表存儲引擎類型。   好了,主要的就是這些了,想要了解更多信息就訪問 sysbench 項目的主頁吧。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有