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 下載源碼包。接下來,按照以下步驟安裝: [root@node2 ~]# tar zxvf sysbench-0.4.8.tar.gz [root@node2 ~]# cd sysbench-0.4.8 [root@node2 sysbench-0.4.8]# ./configure --with-mysql-includes=/usr/local/include/mysql --with-mysql-libs=/usr/local/lib/mysql [root@node2 sysbench-0.4.8]# make && make install 安裝完畢後,如果在運行時出現下面的錯誤提示: sysbench: error while loading shared libraries: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory 使用下面的命令查看libmysqlclient_r.so.16是否存在 [root@node2 sysbench-0.4.8]# find / -name "libmysqlclient_r.so.16" -print /usr/local/lib/mysql/libmysqlclient_r.so.16 結果顯示是存在的,那麼我們需要做個鏈接 [root@node2 sysbench-0.4.8]# ln -s /usr/local/lib/mysql/libmysqlclient_r.so.16 /lib/libmysqlclient_r.so.16 如果沒有,可以自己下載 devel 或者 share 包來安裝。 [separator] 二、開始測試編譯成功之後,就要開始測試各種性能了,測試的方法官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。在這裏我大致提一下: 1、cpu性能測試 sysbench --test=cpu --cpu-max-prime=20000 runcpu測試主要是進行素數的加法運算,在上面的例子中,指定了最大的素數爲 20000,自己可以根據機器cpu的性能來適當調整數值。 2、線程測試 sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run3、磁盤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=ndbcluster --oltp-table-size=1000000 --num-threads=30--mysql-socket=/usr/local/var/mysql.sock --mysql-user=root --mysql-host=10.0.0.11--mysql-db=backup prepare上述參數指定了本次測試的表存儲引擎類型爲 ndbcluster。另外,指定了表最大記錄數爲 1000000,其他參數就很好理解了,主要是指定登錄方式。測試 OLTP 時,可以自己先創建數據庫 sbtest,或者自己用參數 --mysql-db 來指定其他數據庫,我這裏指定了數據庫backup。--mysql-table-engine 還可以指定爲 innodb 等 MySQL 支持的表存儲引擎類型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章