テスト環境
本ドキュメントでは、性能検証に使用するテスト環境の構成と設定について説明する。
ハードウェア構成
検証用マシン
| 項目 | スペック |
|---|---|
| モデル | MacBook Pro 14インチ (2023) |
| チップ | Apple M2 Max |
| メモリ | 64 GB |
| OS | macOS 15.0.1 (24A348) |
本番想定構成
中規模(〜1,000 req/s)を想定した推奨構成:
| コンポーネント | スペック | インスタンス数 |
|---|---|---|
| idp-server | 2 vCPU, 4GB RAM | 2-4 |
| PostgreSQL | 4 vCPU, 8GB RAM | 1 (Primary) |
| Redis | 2 vCPU, 4GB RAM | 1 |
| ロードバランサ | - | 1 |
ソフトウェア構成
アプリケーション設定
JVM設定
JAVA_TOOL_OPTIONS: >-
-Xms512m
-Xmx2g
-XX:+UseG1GC
-XX:MaxGCPauseMillis=100
| パラメータ | 値 | 説明 |
|---|---|---|
| -Xms | 512m | 初期ヒープサイズ |
| -Xmx | 2g | 最大ヒープサイズ |
| -XX:+UseG1GC | 有効 | G1ガベージコレクタ使用 |
| -XX:MaxGCPauseMillis | 100 | 最大GC停止時間 |
注記
G1GCをOFFにした場合、レスポンス時間の短縮が確認されている。本番環境では要検討。
Tomcat設定
server:
tomcat:
threads:
max: 300
min-spare: 50
connection-timeout: 20000
accept-count: 100
| パラメータ | 値 | 説明 |
|---|---|---|
| maxThreads | 300 | 最大ワーカースレッド数 |
| minSpareThreads | 50 | 最小待機スレッド数 |
| connectionTimeout | 20000 | コネクションタイムアウト(ms) |
| acceptCount | 100 | 接続キューサイズ |