SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server の負荷かけツール

leave a comment

SQL Server の負荷かけツール (ストレステスト) についてメモを。

あと、えろす師匠錦の鬼 っていうイメージ戦略をしろって 縄神様 に言われていた気がするので頑張りたいと思います。
# トップダウンアプローチで仕方なくイメージ戦略しているんです…。

■SQL Server をインストールしないで実行


SQL Server をインストールせずに、ツールから SQL Server の I/O パターンを発生させて、テストを実施するためのツールとなります。
主にストレージに対しての性能検証をする際に使用することになるかと。

SQLIO
SQLIO Disk Subsystem Benchmark Tool

下で紹介している SQLIO の CUI 版となります。
MS のドキュメントでは SQLIO を使用したディスクの性能テストを実施しているケースが多いかと思います。

SQLIOSIM
How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem

SQLIO の GUI 版となります。
細かなワークロードの調整等も SQLIOSIM では実施することができます。
現行の SQL Server では、SQLIOSIM はインスタンスの Binn ディレクトリに含まれていますので、インストールをしなくても使用できる環境が整っているかと思います。

 

■特定のクエリを実行


特定のクエリを複数スレッド / 繰り返し実行するためのツールとなります。
特定のパターン (読み取り 70 / 書き込み 30 というようなワークロードパターン) でテストを実行することはできませんが、クエリを複数回実行するのを簡単に実行することができます。

RML Utilities
RML Utilities for SQL Server (x64)
RML Utilities for SQL Server (x86)

RML Utilities には、CUI ツールの Ostress.exe が含まれており、このツールを使用することで特定のクエリを複数スレッドで実行することができます。
Ostress.exe では外部の SQL ファイルを実行することができますので、クエリの再利用等は楽だと思います。

 

SQLQueryStress
SQLQueryStress

GUI ベースの複数スレッド / 繰り返し回数で、特定のクエリを実行するためのツールです。
こちらは外部の SQL ファイルを読み込んで実行ということはできないのですが、設定した内容については保存することができますので、同一のクエリを再実行したい場合は楽だと思います。
image

Enzo SQL Baseline
SQL Server and SQL Azure Performance Testing: Enzo SQL Baseline
こちらも GUI ベースの複数スレッド / 繰り返し回数で、特定のクエリを実行するためのツールです。
image

細かな設定については SQL Query Stress と比較してこちらのほうが設定可能です。
ただし、設定できる情報が接続文字列の情報のみのようなので、複数実行したい場合などは SQL Query Stress を使用してしまった方が簡単かもしれないですね。

 

■特定のワークロードを実行


先ほどまでのツールは単一のクエリを実行するためのものでしたが複数のクエリを実行するためのツールとしては以下のようなものがあります。
これらは、SQL Server 専用というわけではなく、一般的なベンチマークツールですね。

JMeter
Apache JMeter?

特定のワークロードを実行する場合は、JMeter を使用することが多いかと思います。
特定の SQL を順次実行するようなテストシナリオを作成することができますので、検索と、更新のトランザクションミックスなワークロードを実行することが可能です。
image

TRANSACTION GENERATOR
TRANSACTION GENERATOR

こちらは先日開発が終了してしまったようなのですが、複数の SQL を実行することができるツールとなります。
image

HammerDB
HammerDB

TPC ベンチマークを実行するためのツールとなります。
TPC-C と TPC-H を DB の作成を含めて、簡単に実行することができます。
スクリプトを書けば TPC 以外のクエリも実行できるようなので使いこなすと思い白いかもしれないですね。
image

私が使用しているのは上記のようなものになります。
新しいものを見つけたら随時更新していこうかと。

Share

Written by Masayuki.Ozawa

6月 17th, 2014 at 11:48 am

Posted in SQL Server

Tagged with

Leave a Reply