IPアーキテクチャ
sysbenchサーバーを展開:172.17.100.107
圧力テストサーバー:172.17.100.100
MySQLの展開ディレクトリ:は/ usr / local / mysqlの
前の作品
1.のMySQLのインストールを完了します(MySQL5.7が自動的にスクリプトの最新バージョンをデプロイしますMySQL5.7自動展開スクリプトを)
ダイナミックライブラリファイル2.コンプリートをインストールします。
yumをインストール-yのopensslのlibtool
#は、エラーが発生する可能性があります
1. は/ usr / binに/ LD::メイクする前に、あなたはそれ以外の場合はエラーになります、libのライブラリを変更する必要が -lmysqlclient_r見つけることができません
インストールが向けられているのでlibには/ usr / local / mysqlの/ libに
CDは/ usr / local / mysqlの/ libに
LN -s libmysqlclient.so.20.3.9 libmysqlclient_r.so
2. マニフェストエラーが存在しないのメイク、./sysbench実行エラー
./sysbench:エラー共有ライブラリのロード中:libmysqlclient.so.18する:そのようなファイルやディレクトリはありません:共有オブジェクトファイルを開くことができません。
LN -s /usr/local/mysql/lib/libmysqlclient.so.18は/ usr / lib64に
エラーがある場合
/ usr / local / sysbench / binに/ sysbench:エラー共有ライブラリのロード中に:libmysqlclient.so.20を:そのようなファイルやディレクトリはありません:共有オブジェクトファイルを開くことができません。
そして、実行
LN -s /usr/local/mysql/lib/libmysqlclient.so.20は/ usr / lib64に
sysbench取付部
①総最適化されたバージョンの葉(中...従来のバージョンMGR・テスト・ピットは、テキストの最後に更新されています)
私はピットについてお話しましょう:テスト環境では、葉の全バージョンは、テストスタンドアローンおよびマスターのために利用可能です。
しかし、裏でMGRの完了は、エラーが発生し、このテストsysbench、1032(主キー違反)を使用して構築された後、エラーには現在、10回の以上のテストを通じてちょうど約前後に決定することで、詳細な研究は、(2回リロード途中MGR)は、両方が与えられました。
ダウンロード
イェジンのWebサイトでは圧縮されたパッケージsysbenchをダウンロードします
wgetのhttp://imysql.com/wp-content/uploads/2014/09/sysbench-0.4.12-1.1.tgz
配備します
タール-xf sysbench-0.4.12-1.1.tgz
MV sysbench-0.4.12-1.1 sysbench
CP -r sysbenchは/ usr / local / sysbench
CDは/ usr / local / sysbench
./autogen.sh
#の設定ファイル
./configure --prefix =は/ usr / local / sysbench / --with-のMySQL-含ま= は/ usr / local /のMySQL /含む/ --with-のMySQL-LIBS = は/ usr / local /のMySQL / LIB /
libディレクトリに対応するLIBSは、MySQLで、ディレクトリは、対応するMySQLを含んで含まれている必要があり、ここで注意してください
インストールを完了します
作る&& make installを
(エラーの確認なし)
インストールの確認
/ usr / local / sysbench / binに/ sysbench --help
次のテキストが表示された場合は、展開を成功さを示します
[ルート@のGTID01ビン]#は/ usr / local / sysbench / binに/ sysbench --help
必要なコマンドargument.Usageがありません:sysbench [一般オプション] ... --test = [テストオプション] ...コマンド
一般的なオプション:
--num-スレッド使用するスレッドのN =番号[1]
要求の合計数= N限界--max-リクエスト[10000]
...
環境変数を増やします
エコー-e "輸出PATH = \ $ PATH:は/ usr / local / sysbench / binに" >> / etc / profileを
ソースは/ etc / profile
sysbenchテストの準備を使用します
sysbenchテストを使用します
まず(100ライブラリをテストするために、107で、ここで)ユーザー認証を構築し、データベースを構築カレーをテスト
mysqlの-h 172.17.100.100 -uroot -p
...
データベースsbtestを作成; ##ここで設定されたLUAスクリプトはsbtestライブラリは、ライブラリ名は、スクリプトの内容と一致していなければならないので、
TPCC 『「によって識別される』ユーザーtpcc@'172.17.100.%を作成します。
sbtest上のすべての権限を付与* 'tpcc@'172.17.100.%します。
フラッシュ権限;
エラー処理を(変更のInnoDB oltp.lua mysiamした後、あなたがテーブルを見つけることができません)を生成
CDは/ usr / local / sysbench / sysbench /テスト/ DB /
CP oltp.lua oltp_innodb.lua
SED -iさん/ MyISAMの/ InnoDBの/ G '/usr/local/sysbench/sysbench/tests/db/oltp_innodb.lua
テスト圧力の多機能テーブル(イェビデオ、マルチテーブルpercona sysbenchサポートによると、しかし、公式バージョンをサポートしていませんが、私は例の公式バージョンを見つけることができませんでしたが、テストsysbenchで使用することはできません)
実行準備
sysbench --mysqlホスト= 172.17.100.100 --mysqlポート= 3306 --mysqlユーザー= TPCC --mysql-パスワード= TPCC --test =は/ usr / local / sysbench / sysbench /テスト/ DB / OLTP。 LUA --oltp_tables_count = 10 --oltpテーブルサイズ= 100000準備に--rand-INIT =
...
sysbench 0.5:マルチスレッド・システム評価基準
テーブル「sbtest1」を作成しています...
「sbtest1」へ100000件のレコードを挿入
...
テーブル「sbtest10」を作成しています...
「sbtest10に100000件のレコードを挿入
実行実行
sysbench --mysqlホスト= 172.17.100.100 --mysqlポート= 3306 --mysqlユーザー= TPCC --mysql-パスワード= TPCC --test =は/ usr / local / sysbench / sysbench /テスト/ DB / OLTP。 LUA --oltp_tables_count = 10 --oltpテーブルサイズ= 100000 --num-スレッド= 4 --oltp -読み取り専用=オフ--report-間隔= 5 --rand型=均一--max時間= 30 --max-要求= 0 --percentile = 99実行
--num-スレッド4 //スレッドの数= 4
--max-時間= 30 //テスト時間は30秒です
--report-間隔= 5 //レポートの印刷サイクルは5秒です
--oltp-読み取り専用=オフ//読み取り専用非試験運転
処刑の--max-要求= 0 //最大数は、唯一MAX-時間によって制限され、本明細書中に限定されません
4つのスレッド
8つのスレッド
16件のスレッド
読み:38024を//読み取りの合計数、select文
書き込み:書き込み、挿入、削除、更新文の10864が//総数
その他:など、コミットとして5432の//その他の記述、
合計:文の54320 //総数は実行します
取引:2716 (秒あたり90.31。) //物事の合計数(★物事の秒数あたり:TPS★)
read/write requests: 48888 (1625.67 per sec.) //读写请求次数(★每秒的读写次数:QPS★)
other operations: 5432 (180.63 per sec.) //其它操作的每秒执行数
General statistics:
total time: 30.0726s //总时间
total number of events: 2716 //★事物总数★
total time taken by event execution: 480.7371s //所有事务耗时相加(不考虑并行因素)
response time: //应答时间
min: 21.62ms //最小
avg: 177ms //平均
max: 598.59ms //最大
approx. 99 percentile: 421.51ms //99%语句执行时间
Threads fairness: //线程公平性
events (avg/stddev): 169.7500/2.38
execution time (avg/stddev): 30.0461/0.02
需要重点关注的几个测试结果
★总的事物数,每秒事务数TPS,QPS,时间统计信息(最大、最小、平均、99%以上语句响应时间)★
通过sysbench结果来判定数据库的能力主要还是通过TPS
执行清除
sysbench --mysql-host=172.17.100.100 --mysql-port=3306 --mysql-user=tpcc --mysql-password=tpcc --mysql-db=sbtest --oltp-tables-count=10 --oltp-table-size=100000 --num-threads=16 --max-requests=0 --max-time=30 --report-interval=1 --test=/usr/local/sysbench/sysbench/tests/db/oltp.lua cleanup
sysbench 0.5: multi-threaded system evaluation benchmark
Dropping table 'sbtest1'...
Dropping table 'sbtest2'...
Dropping table 'sbtest3'...
②原始版本(该版本目前只测试了MGR环境,常规环境没有验证过,但应该没有问题)
大体的安装和叶总版本差不多,这里就写的简略一些了
前置条件准备
yum install -y openssl libtool gcc make automake pkgconfig libaio-devel vim-common
下载并安装
wget https://github.com/akopytov/sysbench/archive/master.zip
tar -xf master.zip
mkdir -p /usr/local/sysbench/
cd sysbench-master/
./autogen.sh
./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib
make
make install
#如果后面验证那一步报错是18,就把下面的20换成18,反正我CenOS6.8的环境不执行下面这句都是报20的错
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64
echo -e "export PATH=\$PATH:/usr/local/sysbench/bin" >> /etc/profile
source /etc/profile
#验证
sysbench --version
#自行去目标数据库完成建用户(tpcc/tpcc),建库(sbtest)
执行测试
sysbench /usr/local/sysbench/share/sysbench/oltp_read_write.lua --mysql-host=172.17.100.101 --mysql-port=3306 --mysql-user=tpcc --mysql-password=tpcc --mysql-db=sbtest --tables=5 --table_size=100000 --mysql_storage_engine=Innodb prepare
sysbench /usr/local/sysbench/share/sysbench/oltp_read_write.lua --mysql-ホスト= 172.17.100.101 --mysqlポート= 3306 --mysqlユーザー= TPCC --mysql-パスワード= TPCC --mysql-DB = sbtest --tables = 5 --table_size = 100000 --mysql_storage_engine = INNODB --threads = 3 --time = 600 --warmup時間= 10 --report間隔= 10 --rand型=均一ラン
テストパターン(メインライブラリMGRの単一グループに対する書き込み)乾燥
著者:トールギスフライング
ます。https://www.jianshu.com/p/d0abdc29cd7aリンク
出典:ジェーン・ブック
著者によって予約ジェーンブックの著作権は、いかなる形で再現され、承認を得るために作者に連絡して、ソースを明記してください。