OASE大量イベント処理のためのWSGIチューニング例(ita-api-oase-receiver)¶
概要¶
ita-api-oase-receiverで大量のイベント処理が遅い場合、WSGIのプロセス数・スレッド数を調整することで性能改善できる場合があります。本ドキュメントでは、大量のラベル付与などのCPUバウンドな処理に対する具体的なチューニング例を紹介します。
チューニング例¶
前提¶
ITAバージョン: 2.8.0
Platformバージョン: 1.12.0
インストール環境: kubernetes
システム環境: 8コアCPU
シナリオ¶
処理対象: ita-api-oase-receiverで受け取った1リクエストにつき100件のイベント
ラベル付与設定: 処理対象のイベント1件あたり正規表現を用いたラベル付与設定が約1,300件
このような環境では、大量の正規表現マッチング処理がCPUバウンドとなり、処理が遅くなる場合があります。
設定¶
# exastro.yaml
exastro-it-automation:
# 中略
ita-api-oase-receiver:
image:
repository: "docker.io/exastro/exastro-it-automation-api-oase-receiver"
tag: ""
pullPolicy: IfNotPresent
extraEnv:
LISTEN_PORT: "8000"
PLATFORM_API_HOST: "platform-api"
PLATFORM_API_PORT: "8000"
+ OASE_RECEIVER_WSGI_PROCESSES: "7"
+ OASE_RECEIVER_WSGI_THREADS: "2"
Exastroのデフォルト設定はプロセス数2、スレッド数8です。この設定では最大2コアまでしか使えませんが、プロセス数を7に増やすことで7コアを並列活用でき、CPUバウンドなラベル付与処理の高速化が期待できます。
設定パラメータ¶
項目 |
デフォルト値 |
設定値 |
説明 |
|---|---|---|---|
|
2 |
7 |
プロセス数。CPUコア数に応じて調整(目安: コア数 - 1) |
|
8 |
2 |
プロセスあたりのスレッド数。CPUバウンドな処理では少なめに設定 |
期待される効果¶
スループット向上: 複数CPUコアの並列活用により、大量のイベント処理が高速化
レイテンシ削減: イベント処理の完了時間が短縮
実環境での効果は、チューニング前後でのイベント処理時間やCPU使用率等をご確認ください。