Skip to main content
このページは先行公開版です。内容は今後予告なく更新される可能性があります。

Helm チャートの値を表示


1. リソース割り当ての改善

  • Helm チャート内の各サービスのリソース割り当てを調整することで、Dify のパフォーマンスを向上させることができます。
  • 使用している環境やリソース状況に応じて値を増やしてください。
  • 各コンポーネントの推奨設定:
備考説明:
  • API:必要に応じて replica を水平スケール
  • Worker:必要に応じて replica を水平スケール(大量のファイルアップロードがある場合)
  • Sandbox:必要に応じて replica を水平スケール(大量の計算タスクがある場合)
    • maxWorkers: 4(ワーカープロセス数)
    • workerTimeout: 15(呼び出しタイムアウト)
設定例:

2. 外部 PostgreSQL のパフォーマンス向上

2.1 データベース最大接続数の計算

データベースを設定する際、以下の式を使用して必要な最大接続数を計算する必要があります:
パラメータ説明:
  • SQLALCHEMY_POOL_SIZE: 各 worker のデータベース接続プールサイズ
  • SQLALCHEMY_MAX_OVERFLOW: プールがオーバーフローした際の追加接続数
  • API Worker数: API サービスの serverWorkerAmount
  • Worker Worker数: Worker サービスの celeryWorkerAmount
計算例: 以下の設定を想定:
  • API: replicas=6, serverWorkerAmount=1
  • Worker: replicas=2, celeryWorkerAmount=1
  • SQLALCHEMY_POOL_SIZE=100
  • SQLALCHEMY_MAX_OVERFLOW=150
最大接続数は:
計算結果に対して 20-30% の余裕を持たせることを推奨します。トラフィックの急増に対応するためです。上記の例では、max_connections を 2400-2600 に設定することをお勧めします。

2.2 完全な設定例


3. パフォーマンス監視の推奨事項

3.1 主要なメトリクス

システムが正常に動作していることを確認するため、以下のメトリクスを監視してください: データベース接続:
  • 現在のアクティブ接続数
  • 接続プール使用率
  • 接続待ちリクエスト数
リソース使用状況:
  • CPU 使用率(70% 以下を推奨)
  • メモリ使用率(80% 以下を推奨)
  • ディスク I/O
アプリケーションパフォーマンス:
  • API レスポンスタイム
  • Worker タスクキューの長さ
  • タスク実行時間

3.2 一般的なパフォーマンスボトルネック