mcpField
P
performance-testing

performance-testing

github.com/aj-geddesテスト・品質374606 回インストール34 週間前に更新
リポジトリ

performance-testing について

負荷時のシステム動作を測定する性能テストのガイドです。API、データベース、アルゴリズムの測定と、複数のテストツールの解説を含みます。

主な機能

  1. 01APIの負荷・レイテンシテスト
  2. 02データベースクエリ性能の分析
  3. 03k6、JMeter、pytest-benchmark、JMHのガイド
  4. 04モニタリングとボトルネック分析

活用シーン

  1. 01応答時間とスループット要件の確認
  2. 02同時ユーザー数に対する処理能力の検証
  3. 03最適化前後の性能比較

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill performance-testing

インストール後、Claude Code で/performance-testingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
apache-jmeter.md
database-query-performance.md
jmh-for-java-benchmarking.md
k6-for-api-load-testing.md
pytest-benchmark-for-python.md
real-time-monitoring.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

詳細

パフォーマンステスト

目次

概要

パフォーマンステストでは、応答時間、スループット、リソース使用率、スケーラビリティなど、さまざまな負荷条件下でのシステムの動作を測定します。ボトルネックの特定、パフォーマンス要件の検証、システムが想定される負荷に対応できることの確認に役立ちます。

使用する場面

  • 応答時間の要件を検証する
  • API のスループットとレイテンシを測定する
  • データベースクエリのパフォーマンスをテストする
  • パフォーマンスのボトルネックを特定する
  • アルゴリズムの効率を比較する
  • 最適化の前後でベンチマークを実施する
  • キャッシュの有効性を検証する
  • 同時ユーザー数の上限をテストする

クイックスタート

最小限の実行可能な例:

// load-test.js
import http from "k6/http";
import { check, sleep } from "k6";
import { Rate, Trend } from "k6/metrics";

// Custom metrics
const errorRate = new Rate("errors");
const orderDuration = new Trend("order_duration");

// Test configuration
export const options = {
  stages: [
    { duration: "2m", target: 10 }, // Ramp up to 10 users
    { duration: "5m", target: 10 }, // Stay at 10 users
    { duration: "2m", target: 50 }, // Ramp up to 50 users
    { duration: "5m", target: 50 }, // Stay at 50 users
    { duration: "2m", target: 0 }, // Ramp down to 0
  ],
  thresholds: {
    http_req_duration: ["p(95)<500"], // 95% of requests under 500ms
    http_req_failed: ["rate<0.01"], // Error rate under 1%
    errors: ["rate<0.1"], // Custom error rate under 10%
  },
};

// ... (see reference guides for full implementation)

リファレンスガイド

references/ ディレクトリにある詳細な実装:

ガイド内容
k6 による API 負荷テストk6 による API 負荷テスト
Apache JMeterApache JMeter
Python 用 pytest-benchmarkPython 用 pytest-benchmark
Java ベンチマーク用 JMHJava ベンチマーク用 JMH
データベースクエリのパフォーマンスデータベースクエリのパフォーマンス
リアルタイムモニタリングリアルタイムモニタリング

ベストプラクティス

✅ 推奨事項
  • 明確なパフォーマンス要件(SLA)を定義する
  • 実際の運用に即したデータ量でテストする
  • リソース使用率を監視する
  • キャッシュの有効性をテストする
  • 平均値ではなくパーセンタイル(P95、P99)を使用する
  • 測定前にウォームアップする
  • 本番環境に近い環境でテストを実行する
  • N+1 クエリの問題を特定して修正する
❌ 避けるべきこと
  • 小さなデータセットだけでテストする
  • メモリリークを無視する
  • 現実的でない環境でテストする
  • 平均応答時間だけに注目する
  • データベースのインデックス分析を省略する
  • 正常系のパスだけをテストする
  • ネットワークレイテンシを無視する
  • 統計的有意性を考慮せずに比較する

コメント