概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
四、測試
# /usr/local/sysbench/bin/sysbench --version
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
四、測試
# /usr/local/sysbench/bin/sysbench --version
到目前為止sysbench的安裝就算是完成了!
五、開始測試
編譯成功之後,就要開始測試各種性能了,測試的方法在官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。
1、cpu性能測試
如果多臺服務器進行CPU性能對比,當線程和素數個數一定時:相同時間,比較event;相同event,比較時間;時間和event都相同,比較stddev(標準差)。
--cpu測試主要是進行素數的加法運算,這裡指定了最大的素數為 20000,可以根據機器cpu的性能來適當調整數值。
sysbench --test=cpu --cpu-max-prime=20000 run
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
四、測試
# /usr/local/sysbench/bin/sysbench --version
到目前為止sysbench的安裝就算是完成了!
五、開始測試
編譯成功之後,就要開始測試各種性能了,測試的方法在官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。
1、cpu性能測試
如果多臺服務器進行CPU性能對比,當線程和素數個數一定時:相同時間,比較event;相同event,比較時間;時間和event都相同,比較stddev(標準差)。
--cpu測試主要是進行素數的加法運算,這裡指定了最大的素數為 20000,可以根據機器cpu的性能來適當調整數值。
sysbench --test=cpu --cpu-max-prime=20000 run
2、線程測試
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
四、測試
# /usr/local/sysbench/bin/sysbench --version
到目前為止sysbench的安裝就算是完成了!
五、開始測試
編譯成功之後,就要開始測試各種性能了,測試的方法在官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。
1、cpu性能測試
如果多臺服務器進行CPU性能對比,當線程和素數個數一定時:相同時間,比較event;相同event,比較時間;時間和event都相同,比較stddev(標準差)。
--cpu測試主要是進行素數的加法運算,這裡指定了最大的素數為 20000,可以根據機器cpu的性能來適當調整數值。
sysbench --test=cpu --cpu-max-prime=20000 run
2、線程測試
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run
3、磁盤IO性能測試
--指定了最大創建16個線程,創建的文件總大小為3G,文件讀寫模式為隨機讀。
--一定要到測試的磁盤目錄下執行,否則可能測試系統盤了
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
3.1、準備數據
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
四、測試
# /usr/local/sysbench/bin/sysbench --version
到目前為止sysbench的安裝就算是完成了!
五、開始測試
編譯成功之後,就要開始測試各種性能了,測試的方法在官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。
1、cpu性能測試
如果多臺服務器進行CPU性能對比,當線程和素數個數一定時:相同時間,比較event;相同event,比較時間;時間和event都相同,比較stddev(標準差)。
--cpu測試主要是進行素數的加法運算,這裡指定了最大的素數為 20000,可以根據機器cpu的性能來適當調整數值。
sysbench --test=cpu --cpu-max-prime=20000 run
2、線程測試
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run
3、磁盤IO性能測試
--指定了最大創建16個線程,創建的文件總大小為3G,文件讀寫模式為隨機讀。
--一定要到測試的磁盤目錄下執行,否則可能測試系統盤了
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
3.1、準備數據
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
四、測試
# /usr/local/sysbench/bin/sysbench --version
到目前為止sysbench的安裝就算是完成了!
五、開始測試
編譯成功之後,就要開始測試各種性能了,測試的方法在官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。
1、cpu性能測試
如果多臺服務器進行CPU性能對比,當線程和素數個數一定時:相同時間,比較event;相同event,比較時間;時間和event都相同,比較stddev(標準差)。
--cpu測試主要是進行素數的加法運算,這裡指定了最大的素數為 20000,可以根據機器cpu的性能來適當調整數值。
sysbench --test=cpu --cpu-max-prime=20000 run
2、線程測試
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run
3、磁盤IO性能測試
--指定了最大創建16個線程,創建的文件總大小為3G,文件讀寫模式為隨機讀。
--一定要到測試的磁盤目錄下執行,否則可能測試系統盤了
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
3.1、準備數據
3.2、測試
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
四、測試
# /usr/local/sysbench/bin/sysbench --version
到目前為止sysbench的安裝就算是完成了!
五、開始測試
編譯成功之後,就要開始測試各種性能了,測試的方法在官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。
1、cpu性能測試
如果多臺服務器進行CPU性能對比,當線程和素數個數一定時:相同時間,比較event;相同event,比較時間;時間和event都相同,比較stddev(標準差)。
--cpu測試主要是進行素數的加法運算,這裡指定了最大的素數為 20000,可以根據機器cpu的性能來適當調整數值。
sysbench --test=cpu --cpu-max-prime=20000 run
2、線程測試
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run
3、磁盤IO性能測試
--指定了最大創建16個線程,創建的文件總大小為3G,文件讀寫模式為隨機讀。
--一定要到測試的磁盤目錄下執行,否則可能測試系統盤了
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
3.1、準備數據
3.2、測試
4、內存測試
--指定了本次測試整個過程是在內存中傳輸 4G 的數據量,每個 block 大小為 8K。
sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run
這裡就省略了
5、OLTP測試
--指定了本次測試的表存儲引擎類型為innodb和指定了表最大記錄數為 1000000
--測試 OLTP 時,可以自己先創建數據庫sbtest,或者自己用參數 --mysql-db 來指定其他數據庫。
sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-db=lcpdb\\
--mysql-socket=/var/lib/mysql/mysql.sock --mysql-user=root --mysql-host=localhost \\ --mysql-password=CUv2or1[5oMf08px prepare
這裡就省略了。。。
篇幅有限,這塊內容就介紹到這了,後面再單獨介紹下怎麼在生產環境用sysbench來測試mysql數據庫,感興趣的朋友可以關注一下~
概述
sysbench是基於LuaJIT的可以腳本化多線程基準。 它是一個模塊化的、跨平臺、多線程基準測試工具,最常用於數據庫基準測試,但也可以用於創建不涉及數據庫服務器的任意複雜工作負載。
sysbench附帶了以下捆綁的基準測試:
- oltp_*.lua: 一個像數據庫基準的oltp集合
- fileio: 文件系統級基準
- cpu: 一個簡單的CPU基準
- memory: 內存訪問基準
- threads: 基於線程的調度程序基準
- mutex: POSIX互斥基準
目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。
環境如下:
一、下載
sysbench的源碼可以在github上面下載的到,sysbench的主頁
https://github.com/akopytov/sysbench
官網地址:https://dev.mysql.com/downloads/benchmarks.html
--通過github官網下載
#wget https://codeload.github.com/akopytov/sysbench/zip/master
--通過mysql官網下載
#wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz
二、安裝依賴
yum -y install gcc gcc-c++ make automake libtool pkgconfig libaio-devel
因為在我的機器上已經安裝上了mysql相關的所有包,如果你機器上還沒有安裝過這些,那你還要安裝上mysql的開發包。
三、安裝sysbench
1、解壓安裝
# tar -xvf sysbench-0.4.12.14.tar.gz
2、編譯安裝
如果需要測試PostgreSQL、Oracle,則在configure時需要加上 --with-oracle 或者 --with-pgsql 參數
--如果之前安裝mysql是編譯安裝在/usr/local/,可以這樣寫:
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \\
--with-mysql-libs=/usr/local/mysql/lib && make && make install
--如果是yum不需要指定
#./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install
--如果是rpm安裝需要指定
# rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm
#./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\\
&& make && make install
四、測試
# /usr/local/sysbench/bin/sysbench --version
到目前為止sysbench的安裝就算是完成了!
五、開始測試
編譯成功之後,就要開始測試各種性能了,測試的方法在官網網站上也提到一些,但涉及到 OLTP 測試的部分卻不夠準確。
1、cpu性能測試
如果多臺服務器進行CPU性能對比,當線程和素數個數一定時:相同時間,比較event;相同event,比較時間;時間和event都相同,比較stddev(標準差)。
--cpu測試主要是進行素數的加法運算,這裡指定了最大的素數為 20000,可以根據機器cpu的性能來適當調整數值。
sysbench --test=cpu --cpu-max-prime=20000 run
2、線程測試
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run
3、磁盤IO性能測試
--指定了最大創建16個線程,創建的文件總大小為3G,文件讀寫模式為隨機讀。
--一定要到測試的磁盤目錄下執行,否則可能測試系統盤了
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
3.1、準備數據
3.2、測試
4、內存測試
--指定了本次測試整個過程是在內存中傳輸 4G 的數據量,每個 block 大小為 8K。
sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run
這裡就省略了
5、OLTP測試
--指定了本次測試的表存儲引擎類型為innodb和指定了表最大記錄數為 1000000
--測試 OLTP 時,可以自己先創建數據庫sbtest,或者自己用參數 --mysql-db 來指定其他數據庫。
sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-db=lcpdb\\
--mysql-socket=/var/lib/mysql/mysql.sock --mysql-user=root --mysql-host=localhost \\ --mysql-password=CUv2or1[5oMf08px prepare
這裡就省略了。。。
篇幅有限,這塊內容就介紹到這了,後面再單獨介紹下怎麼在生產環境用sysbench來測試mysql數據庫,感興趣的朋友可以關注一下~