smart-doc
は、自動的に生成するツールです。Markdown
、 HTML5
、 OpenAPI 3.0
など、さまざまなドキュメント出力形式をサポートしています。smart-docの設計目標は、ドキュメント作成プロセスを簡素化し、開発効率を向上させ、ドキュメントの正確性と適時性を確保することです。
ソフトウェア開発ライフサイクルにおいて、APIドキュメントの自動生成とインターフェースのパフォーマンステストは、開発効率の向上と製品品質の確保に重要なステップです。JMeterを生成する機能の追加により、smart-doc
バージョン3.0.1
のスクリプトを使用すると、開発者はこれら 2 つのタスクをより簡単に実行できます。
この記事では、効果的なパフォーマンス テストのために smart-doc と JMeter を使用する方法を紹介します。
smart-doc
を使用して生成するsmart-doc
によって自動的に生成される JMeter スクリプトは、複雑な構成やデバッグを必要とせずに JMeter で直接実行できるため、パフォーマンス テストがはるかに簡単かつ迅速になります。
まず、プロジェクトにsmart-doc-maven-plugin
が追加されていることを確認します。次に、プロジェクトのpom.xml
ファイルで smart-doc プラグインの関連パラメータを設定します。例:
<plugin> <groupId>com.ly.smart-doc</groupId> <artifactId>smart-doc-maven-plugin</artifactId> <version>[latest version]</version> <configuration> <configFile>./src/main/resources/smart-doc.json</configFile> <projectName>${project.description}</projectName> </configuration> </plugin>
コマンドmvn -Dfile.encoding=UTF-8 smart-doc:jmeter
を実行します。Smart-doc はプロジェクトのソース コードをスキャンし、注釈情報を抽出して、対応する JMeter パフォーマンス テスト スクリプトを自動的に生成します。
使い方がよくわからない方は公式の
JMeter を開き、「ファイル」->「開く」をクリックし、最初の手順で生成された JMeter スクリプト ファイルを選択して、「開始」ボタンをクリックします。その後、JMeter はスクリプトに従ってパフォーマンス テストの実行を開始します。
まず、JMeterのlib/ext
ディレクトリにPrometheusプラグインをインストールする必要があります。プラグインはJMeterプラグインマネージャまたは
127.0.0.1
です。デフォルトでは、Prometheus は JMeter Prometheus リスニング ポートに接続できません。そのため、 jmeter.properties
にprometheus.ip=0.0.0.0
を追加する必要があります。JMeter を開き、テスト プランに Prometheus リスナーを追加します。これは、テスト プラン->追加->リスナー-> Prometheus リスナーを右クリックして実行できます。
リスナーの設定は、次の公式設定を参照できます ( smart-doc 3.0.4
Prometheus リスナー生成の設定と追加をサポートしています)。
Prometheus の設定ファイル ( prometheus.yml
) に、JMeter Prometheus プラグインからデータを取得するための新しいscrape_config
を追加します。例:
scrape_configs: - job_name: 'jmeter' scrape_interval: 15s static_configs: - targets: ['<Your JMeter machine IP>:9270']
ここで、 <Your JMeter machine IP>
JMeter テストを実行しているマシンの IP アドレスであり、 9270
JMeter Prometheus プラグインのデフォルトのリスニング ポートです。
ステップ4: テストプランを実行する
この記事では簡単に検証できるように、ストレス テスト中にスレッド グループを「無限ループ」に設定していますが、実際のニーズに応じて調整できます。
正常に起動すると、JMeter Prometheus はデフォルトでローカル ポート9270
にサービスを作成します。
URLにアクセスする
Prometheus
を起動すると、JMeter Prometheus プラグインからデータの取得が開始されます。次の構成に示すように、正常に起動すると、 Prometheus
で設定されたターゲットを確認できます。
Grafana
公式サイトで、公式サイトが提供する prometheus-jmeter 監視パネルを見つけます。ここでは、ID 14927
のテンプレートを選択して Grafana にインポートします。
「ロード」をクリックした後、 Prometheus
データ ソースを選択します。
14927
にいくつかのエラーがあることがわかりました。これらはこの記事の執筆中に修正されました。修正されたテンプレートをダウンロードしてインポートしてください。
テンプレートが正常にインポートされると、 Grafana
でパフォーマンス テストの監視データ全体を確認できるようになります。
パフォーマンス テスト プロセス全体を迅速に体験できるように、 smart-doc
コミュニティはdocker-compose
を使用して 1 つのコマンドで起動できるテンプレートをキュレートして提供しています。Kubernetes デプロイメントを通じてこれを体験したい場合は、AI ツールを使用して、 docker-compose
テンプレートKubernetes
Kubernetes
デプロイメント テンプレートに直接変換できます。
体験用プロジェクトには使用方法の説明も含まれています。
この記事のサンプルコードは以下にあります。
パフォーマンス ストレス テストにsmart-doc
と JMeter を組み合わせると、次のようないくつかの利点があります。
smart-doc
、ソース コードから API 情報を自動的に抽出し、手動で記述することなく JMeter パフォーマンス テスト スクリプトを生成するため、効率が大幅に向上します。
smart-doc
によって生成される JMeter パフォーマンス テスト スクリプトは、ソース コード内の API 定義と完全に一致しているため、手動でスクリプトを記述するときに発生する可能性のあるエラーを回避できます。
smart-doc
さまざまな構成オプションをサポートしており、生成された JMeter スクリプトをテスト要件に応じてカスタマイズできます。
smart-doc
JMeterのサポートも改善し、最適化していきます。
smart-doc
と JMeter を組み合わせることで、API ドキュメントの生成を自動化できるだけでなく、パフォーマンス テスト スクリプトを迅速に作成し、ストレス テストを実施することもできます。この自動化ツールは、開発とテストの効率を大幅に向上させるとともに、チームがソフトウェア システムのパフォーマンスをより簡単に維持および最適化できるようにします。
この記事が、日々の業務でこれらのツールをより効率的に適用するための実用的な参考資料となったことを願っています。
また、皆様が今後も smart-doc オープンソース コミュニティをフォローし、サポートしていただくことを歓迎いたします。今後は、より多くの開発者を支援するために、追加の言語のサポートを検討しています。