Claude Code Plugins

Community-maintained marketplace

Feedback

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name performance-testing
description システムのパフォーマンス測定・分析・最適化を行うスキル。 負荷テスト、ストレステスト、ボトルネック分析を通じて性能改善策を提示します。 Anchors: • The Art of Application Performance Testing (Ian Molyneaux) / 適用: パフォーマンステスト戦略 / 目的: 体系的な性能評価手法の確立 • Systems Performance (Brendan Gregg) / 適用: USE/REDメソッド / 目的: メトリクス分析とボトルネック特定 • Google SRE Book / 適用: SLO/SLI設計 / 目的: 目標ベースの性能評価 Trigger: Use when measuring system performance, identifying bottlenecks, load testing, or optimizing application speed. performance testing, load testing, stress testing, bottleneck analysis, latency, throughput, response time, profiling, benchmarking, performance optimization
allowed-tools Read, Write, Edit, Bash, Glob, Grep, Task

performance-testing

概要

システムのパフォーマンス測定・分析・最適化を行うスキル。負荷テスト、ストレステスト、プロファイリング、ボトルネック分析を通じて性能改善策を提示します。

ワークフロー

Phase 1: 要件定義とベースライン測定

目的: パフォーマンステストの目標設定と現状把握

アクション:

  1. SLO(Service Level Objectives)を定義
  2. 測定対象のシステム構成を確認
  3. ベースライン測定の実行
  4. 測定環境の妥当性検証
  5. 必要なリソースレベル(Level 1-4)を判定

Task: agents/define-requirements.md を参照

成果物: SLO定義書、システム構成図、ベースライン測定結果

Phase 2: テスト設計と実装

目的: パフォーマンステストシナリオの作成と実装

アクション:

  1. テストシナリオの設計(負荷パターン、ストレスポイント)
  2. テストツールの選定(k6, JMeter, Locust等)
  3. テストスクリプトの実装
  4. 環境設定ファイルの作成

Task: agents/design-tests.md を参照

成果物: テストシナリオ仕様書、テストスクリプト、環境設定ファイル

Phase 3: テスト実行と測定

目的: 計画されたテストの実行とデータ収集

アクション:

  1. テスト環境の準備確認
  2. 段階的負荷増加による測定
  3. リアルタイムモニタリング
  4. データ収集と保存

Task: agents/execute-tests.md を参照

成果物: 測定データ(JSON/CSV)、リアルタイムグラフ、システムメトリクス

Phase 4: 分析とボトルネック特定

目的: 測定データからボトルネックと改善ポイントを特定

アクション:

  1. USE/REDメソッドによるメトリクス分析
  2. レイテンシ分布の解析(P50/P95/P99)
  3. リソース使用率の確認(CPU、メモリ、I/O、ネットワーク)
  4. ボトルネック特定と優先順位付け

Task: agents/analyze-bottlenecks.md を参照

成果物: 分析レポート、ボトルネック一覧(優先度付き)、パフォーマンスグラフ

Phase 5: 最適化提案と検証

目的: 改善策の提案と効果検証

アクション:

  1. ボトルネック別の最適化戦略を立案
  2. 改善案の実装(または実装指示書作成)
  3. 最適化後の再測定
  4. Before/After比較

Task: agents/propose-optimizations.md を参照

成果物: 最適化提案書、Before/After比較レポート、実装ガイド

Task仕様ナビ

Task 起動タイミング 入力 出力
define-requirements Phase 1開始時 システム仕様、目標性能 SLO定義、ベースライン結果
design-tests Phase 2開始時 SLO定義、システム構成 テストシナリオ、スクリプト
execute-tests Phase 3開始時 テストスクリプト、環境設定 測定データ、メトリクス
analyze-bottlenecks Phase 4開始時 測定データ、システムメトリクス 分析レポート、ボトルネック一覧
propose-optimizations Phase 5開始時 ボトルネック一覧、分析レポート 最適化提案書、比較レポート

詳細仕様: 各Taskの詳細は agents/ ディレクトリを参照

ベストプラクティス

すべきこと

推奨事項 理由
SLOを明確に定義 測定の目的と成功基準を明確化
段階的な負荷増加 システムの限界点を安全に特定
複数メトリクスの測定 多角的な分析で真のボトルネックを特定
本番相当の環境で測定 現実的なパフォーマンス評価
ベースライン確立 改善効果の定量的評価を可能に
パーセンタイル分析 P50/P95/P99で異常値を含めた全体像を把握

避けるべきこと

非推奨事項 理由
単一メトリクスのみ測定 ボトルネックの見落としリスク
開発環境のみでのテスト 本番環境との乖離により誤った結論
過負荷による本番影響 段階的負荷増加を怠ると障害リスク
平均値のみでの評価 外れ値を無視すると重要な問題を見落とす
孤立した最適化 システム全体の視点がないと効果が限定的

テストタイプ別ガイド

負荷テスト(Load Testing)

目的: 通常負荷・ピーク負荷時の動作確認

シナリオ: 段階的負荷増加(Ramp-up)、定常負荷維持、想定ピーク負荷

詳細: references/Level2_intermediate.md を参照

ストレステスト(Stress Testing)

目的: システムの限界点と破綻条件の特定

シナリオ: 限界までの負荷増加、スパイク負荷、長時間負荷

詳細: references/Level3_advanced.md を参照

スパイクテスト(Spike Testing)

目的: 急激な負荷変動への対応確認

シナリオ: 急激な負荷増加と減少

詳細: references/Level2_intermediate.md を参照

耐久テスト(Soak Testing)

目的: 長時間稼働時のメモリリーク等の検出

シナリオ: 中程度負荷の長時間維持、リソースリーク検出

詳細: references/Level3_advanced.md を参照

リソース参照

references/(詳細知識)

リソース パス 読むタイミング
基礎知識 See references/Level1_basics.md Phase 1で必ず読む
中級 See references/Level2_intermediate.md Phase 2で参照
上級 See references/Level3_advanced.md Phase 4で参照
エキスパート See references/Level4_expert.md 複雑なシステムで参照

scripts/(決定論的処理)

スクリプト 用途 使用例
log_usage.mjs スキル使用記録 node scripts/log_usage.mjs --result success --phase "Phase 5"
validate-skill.mjs スキル構造の検証 node scripts/validate-skill.mjs

メトリクス定義

レイテンシメトリクス

メトリクス 説明 目標例
P50 50パーセンタイル(中央値) < 100ms
P95 95パーセンタイル < 500ms
P99 99パーセンタイル < 1000ms
P99.9 99.9パーセンタイル < 2000ms

スループットメトリクス

メトリクス 説明 目標例
RPS Requests Per Second > 1000 req/s
TPS Transactions Per Second > 500 tx/s
データ転送 Throughput (MB/s) > 100 MB/s

リソースメトリクス

メトリクス 説明 目標例
CPU使用率 CPU Utilization < 70%
メモリ使用率 Memory Utilization < 80%
ディスクI/O Disk I/O Wait < 10%
ネットワーク Network Utilization < 70%

エラーメトリクス

メトリクス 説明 目標例
エラー率 Error Rate < 0.1%
タイムアウト率 Timeout Rate < 0.01%

ツール選定ガイド

負荷テストツール比較

ツール 特徴 推奨用途
k6 モダン、JS記述、CLI/Cloud対応 API/マイクロサービス
JMeter GUI、多機能、プラグイン豊富 Web全般
Locust Python記述、分散実行対応 カスタマイズ重視
Gatling Scala/Java、DSL、リアルタイム エンタープライズ
wrk 軽量、高速、C実装 シンプルなベンチマーク

プロファイリングツール

ツール 対象 用途
Chrome DevTools ブラウザ/フロントエンド フロントエンド分析
Node.js Profiler Node.js バックエンド分析
py-spy Python Python分析
pprof Go Go分析
perf Linux システムレベル分析

よくある問題と対処法

問題1: テスト環境が本番と異なる

症状: 本番で性能問題が発生するがテストでは再現しない

対処: インフラ構成を本番と揃える、データ量を本番相当にする、ネットワークレイテンシを考慮

問題2: 負荷が上がらない

症状: 負荷テストツールが想定負荷を生成できない

対処: 分散実行を検討、ツールのリソース制限を確認、Keep-Alive設定を確認

問題3: 結果にばらつきが大きい

症状: 同じテストで毎回結果が大きく変動

対処: ウォームアップ期間を設ける、バックグラウンドプロセスを停止、複数回実行して統計的に評価

問題4: ボトルネックが特定できない

症状: 性能が悪いが原因が不明

対処: USE/REDメソッドを適用、分散トレーシングを導入、階層的にプロファイリング

注意事項

セキュリティ

  • 本番環境での負荷テストは必ず許可を得る
  • APIキー等の認証情報をハードコードしない
  • テストデータに本番データを使用しない

コスト

  • クラウド環境でのテストはコストに注意
  • 不要なリソースは速やかに削除
  • 予算上限を設定

倫理

  • 外部サービスへの負荷テストは禁止(DDoS攻撃とみなされる)
  • 自組織管理下のシステムのみテスト対象とする

関連スキル

  • monitoring-alerting: モニタリング基盤構築
  • query-optimization: データベース最適化
  • web-performance: フロントエンド性能最適化
  • observability-monitoring: 観測可能性の実装

変更履歴

Version Date Changes
2.0.0 2026-01-02 18-skills.md仕様完全準拠、構造再編成
1.0.0 2025-12-31 初版