2017-11-29 27 views
0

現在、jmeterテストをデータ駆動するためにCSVファイルを使用しています。 ( "CSV Data Set Config")データベースを使用してCSV Jmeterの代わりにデータの入力

CSVを使用する代わりにSQLまたはOracle DBを使用してjmeterスクリプトのデータを入力する方法はありますか?

例:ユーザー名とパスワード(テストデータ)を使用してdbに接続し、Jmeterスクリプト内でログインしてログインします。 (これは非常に単純な例ですが、アプリケーションのさまざまな部分のデータをDBから取得して入力として使用しています - それは私が働きたいと思っているものです)

私は多くのデータを持っていますアプリケーションのバックエンドで異なるDBを使用してください。

その他のご提案を歓迎します。

JMeterのバージョン:3.0 アプリケーション:ウェブベースのアプリケーション

+0

[データベーステーブルをJMeterのCSVデータセットとして使用]の複製が可能です(https://stackoverflow.com/questions/31264820/use-database-table-as-csv-dataset-for-jmeter) – user7294900

答えて

0

JMeterはデータベースのホスト名、ポート、資格情報などを設定できるJDBC Connection Configurationを提供しています。そして、SQLクエリを実行するには、次のテスト要素:

またMS SQL ServerまたはOracle用のJDBCドライバをダウンロードし、JMeter Classpathに追加する必要があります。

詳細については、The Real Secret to Building a Database Test Plan With JMeterの記事を参照してください。

1

このパスを考慮すべきではない、多くの非常に良い理由があります。このオプションを検討したほとんどの人にとって、テストするアプリケーションと同じデータベースを使用することです。これにより、本番環境では存在しないクエリ負荷が発生します。また、クエリが非最適化され、インデックスによってサポートされる可能性が高いため、テスト対象のアプリケーションを歪める可能性が高くなります。応用。

ほとんどのパフォーマンステストツールは、テストの開始時にデータファイルをRAMにプルして、ファイルからの読み取りを試みている何百/何千ものスレッドのドライブ読み取りヘッド競合に関連する歪みの影響を回避します。ファイルのさまざまな領域に小さなSSDキャッシュを持つドライブがあり、データファイルがキャッシュに収まるだけの小ささであれば、またはSSD全体でこのようなことが軽減できます。あなたはまだ読み込みのリング0イベントを待つという割り込みオーバーヘッドが発生します。同じ理由から、テスト中にログの書き込みを最小限にすることをお勧めします。

ディスクは、パラメータ値として毎回ヒットする必要がありますが、ネットワークはさらに高価です。思考のためだけの食糧。このルートに進む必要がある場合は、テスト対象のアプリケーションと同じインフラストラクチャにインストールされていないキューソリューションを検討してください。 RabbitMQは、ネイティブWebインターフェイスのために私が好むものです。あなたはおそらく月にかなりの数のテストをしていても、フリーではない層には決して接近しないだろうから、Amazon、Cloud Azure、IBM Public cloudなどのキューソリューションを使用することもできます。データを再利用する必要がある場合は、反復の開始時にキューからデータをポップし、反復の最後に同じキューに戻すことで、仮想ユーザーがわずかに異なるためにある程度のランダム性が再利用順序に挿入されます実行する時間。一意のデータを調べている場合は、n回のキューに対して試行回数を試行し、処理に使用できるユニークなデータがないと終了することができます。

関連する問題