Chuyển đến nội dung chính

レッスン 48: パフォーマンスのテストと最適化

k6/Locust による負荷テスト、パフォーマンス プロファイリング、ボトルネックの特定、K8s クラスターのチューニング、アプリケーションの最適化、ベンチマーク レポート。

🔒 DevSecOps — レッスン 48 レッスン 48: パフォーマンス テストとテスト最適化

Kubernetes HA を使用してマイクロサービスをオンプレミスにデプロイ

パート 12: 制作オペレーションとキャップストーン プロジェクト

xdev.asia_

🎯 レッスンの目的__HTMLTAG_66___
  • ✅ k6 (Grafana k6) による負荷テスト
  • ✅ パフォーマンス プロファイル タイプ (負荷、ストレス、スパイク、ソーク)
  • ✅ ボトルネックの特定方法
  • ✅ K8s クラスターのチューニング (カーネル、containerd、kubelet)
  • ✅ アプリケーションレベルの最適化

パート 1: K6 による負荷テスト

コードブロック_0

コードブロック_1

コードブロック_2


パート 2: パフォーマンス テストの種類

タイプ__目標パターン_期間
負荷テスト予想される負荷の下でのSLOを検証目標に向けて段階的に増加_15~30分
ストレス テスト限界点を見つける__失敗するまで増加_30+分
スパイク テスト突然のトラフィック バーストをテスト瞬時にピークにジャンプ_10 ~ 15 分
ソーク テストメモリ リーク、劣化の検出中程度の負荷の持続____HTMLTAG_136__HTMLTAG_137___4 ~ 24 時間
ブレークポイント テスト_最大スループットを見つける_エラーが発生するまでステップを増加変数

コードブロック_3


パート 3: ボトルネックの特定

コードブロック_4


パート 4: クラスターとアプリケーションのチューニング

コードブロック_5

コードブロック_6


パート 5: ベンチマーク レポート

指標_ターゲット実際ステータス
最大スループット_1000要求/秒1250要求/秒✅ PASS
P95 レイテンシー< 500ms320ms✅ PASS_
P99 レイテンシー< 1000ms780ms✅ PASS_
エラー率< 0.1%0.02%✅ PASS_
CPU ピーク< 80%65%✅ PASS_
ピーク時のメモリ< 80%72%✅ PASS_

💡 重要なポイント

  1. k6: 最新の負荷テスト ツール、スクリプト可能、Grafana 統合
  2. テスト タイプ: 負荷、ストレス、スパイク、ソーク — それぞれ異なる目的を果たします
  3. ボトルネック分析: レイヤーごと、トレースガイド付き
  4. 適切なサイズ: VPA の推奨事項 → 無駄を削減
  5. カーネルチューニング: 接続制限、ファイル記述子を増やす
  6. レポート: ドキュメントのベースライン、最適化後の比較

🎯 演習

演習 1: 負荷テスト

  • API エンドポイント用の k6 スクリプトを作成__HTMLTAG_276___
  • 負荷テスト、ストレス テスト、スパイク テストを実行__HTMLTAG_278___
  • テスト中に Grafana ダッシュボードを監視__HTMLTAG_280___

演習 2: 最適化

  • テスト結果から上位 3 つのボトルネックを特定
  • 最適化の適用 (キャッシュ、適切なサイズ設定、チューニング)
  • _改善点を再テストして比較

📚 次の投稿

__HTMLTAG_296___レッスン 49: トラブルシューティング ガイドでは、K8s 運用のための体系的なトラブルシューティングを学習します。