LLM タイムアウトの調整
LLM API への HTTP リクエストタイムアウトを 30〜1800 秒の範囲で調整できます。環境変数・mt-config・プラグイン設定の優先順で評価されます。
LLM API への HTTP リクエストタイムアウトを調整する機能です。v1.5.0 で導入されました。
デフォルト値
デフォルトのタイムアウトは 300 秒(5 分) です。許容範囲は 30〜1800 秒です。
優先順位
タイムアウト値は次の優先順位で評価されます。
| 順位 | 設定場所 | 例 |
|---|---|---|
| 1 | 環境変数 AI_TRANSLATOR_HTTP_TIMEOUT | export AI_TRANSLATOR_HTTP_TIMEOUT=600 |
| 2 | mt-config.cgi の AITranslatorHttpTimeout ディレクティブ | AITranslatorHttpTimeout 600 |
| 3 | プラグインシステム設定の「HTTP タイムアウト(秒)」 | 管理画面で設定 |
| 4 | デフォルト(300 秒) | 設定なし |
範囲外の値(30 未満 / 1800 超)が指定された場合、警告ログを残してデフォルトにフォールバックします。
設定方法
環境変数
シェルから起動するスクリプトで一時的に変えたい場合に便利です。
export AI_TRANSLATOR_HTTP_TIMEOUT=600
CGI / FastCGI 経由で MT を動かしている場合、Web サーバーの環境変数として設定する必要があります。
mt-config.cgi
本番運用の標準値として固定したい場合に使います。MT の mt-config.cgi ファイルに次の行を追加します。
AITranslatorHttpTimeout 600
MT の再起動(またはプロセスの再読み込み)で反映されます。
プラグイン設定画面
非エンジニアの管理者にも調整できるようにしたい場合に使います。
システム管理画面 → 設定 → プラグイン → AITranslator → 設定 を開き、「HTTP タイムアウト(秒)」フィールドに値を入力して保存します。
どのぐらいの値が適切か
| ケース | 推奨値 |
|---|---|
| 短文記事の翻訳 | デフォルト(300 秒)で十分 |
| 数千字〜数万字の長文記事 | 600〜900 秒 |
| 複雑なカスタムプロンプトを使用 | 600〜900 秒 |
| 多くのフィールドを一気に翻訳 | 分割翻訳パイプラインが効くので 300 秒でも十分 |
| 早めにエラーを受け取りたい | 60〜90 秒 |
長すぎる値は意味がありません。LLM のレスポンスを待つ時間が長くなるだけで、ユーザー体験は悪化します。
インフラ側のタイムアウトとの関係
Web サーバー / プロキシ側にもタイムアウト設定があります。
| インフラ | 設定例 |
|---|---|
| Apache | ProxyTimeout 600 (mod_proxy) |
| Nginx | proxy_read_timeout 600 |
| FastCGI | FcgidIOTimeout 600 |
AITranslator のタイムアウトはこれらより短く設定するのが基本です。インフラ側で先に切られると、エラーメッセージが分かりにくくなります。
v1.5.0 の分割翻訳パイプラインでは 1 リクエストが「1 フィールド分の LLM 応答」だけになるので、インフラ側のタイムアウトに引っかかりにくくなっています。
トラブルシューティング
タイムアウトの実効値を確認したい
タイムアウトが意図した値で動いているか確認するには、システムログを見てください。
AITranslator: HTTP timeout out of range (X seconds), falling back to default 300
このようなログが出ている場合は、設定値が範囲外です。30〜1800 の値で設定してください。
設定が反映されない
- 環境変数: Web サーバーから見える環境変数になっているか確認
- mt-config.cgi: 編集後に Web サーバーまたは MT のプロセスを再読み込み
- プラグイン設定: ブラウザのキャッシュをハードリロードで更新