天天看點

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 下載下傳源碼包。

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

以上方法适用于 MySQL 安裝在标準預設目錄下的情況,如果 MySQL 并不是安裝在标準目錄下的話,那麼就需要自己指定 MySQL 的路徑了。比如我的 MySQL 喜歡自己安裝在 /usr/local/mysql 下,則按照以下方法編譯:

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

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

--with-pgsql

或者

--with-oracle

這2個參數預設是關閉的,隻有 MySQL 是預設支援的。

二、開始測試

編譯成功之後,就要開始測試各種性能了,測試的方法官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準确。在這裡我大緻提一下:

1、cpu性能測試

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

2、線程測試

3、磁盤IO性能測試

上述參數指定了最大建立16個線程,建立的檔案總大小為3G,檔案讀寫模式為随機讀。

4、記憶體測試

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

5、OLTP測試

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

本文轉自 xxl714 51CTO部落格,原文連結:http://blog.51cto.com/dreamgirl1314/1566828,如需轉載請自行聯系原作者