ブログ移転?しました エックスサーバを契約してみたので、 いろいろカスタマイズできそうなWordPressを使って ブログを作ってみました。 https://gametech.vatchlog.com/ 多分こちらでも同じような記事を書いていくと思います。 忍者ブログ

ばちブロ

プログラミングとか徒然を書いていた(過去形)

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【nginx】レスポンスタイムアウトの設定メモ

ちょっとしたメモ代わりに。
割と重要で、なかなか参考になるものがなかったので。

以下3つの設定値について、ちょっと調べてみました。
proxy_connect_timeout
proxy_send_timeout
proxy_read_timeout

参考書などの説明によると、各設定値はこんな感じの説明をされていました。

■proxy_connect_timeout
バックエンドサーバとの接続タイムアウト時間の指定
バックエンドサーバに接続要求を送り、n秒間接続できない場合発生
すでにバックエンドと接続されている場合、このタイムアウトは発生しない

■proxy_send_timeout
バックエンドサーバへのデータ送出のタイムアウトの秒数を指定
このタイムアウトは、応答全体の遅れではなく、2回の書き込み処理の間の遅れに対するものである

■proxy_read_timeout
バックエンドからのデータ受信のタイムアウト秒数を指定
このタイムアウトは、応答全体の遅れではなく、2回の書き込み処理の間の遅れに対するものである


・・・(´・ω・`)?


あんまりよくわからんので、図でまとめてみました。



そもそも、クライアントからnginxにnginxはまずはじめに、バックエンドサーバにTCPコネクションを張りにきます。(1)
そのときのタイムアウト条件がproxy_connect_timeoutということですね。

コネクションを張ることができたら、クライアントは次にnginxサーバはバックエンドサーバにリクエストを投げます。(2)
そのリクエストを送信するタイムアウト条件がproxy_send_timeoutです。
送るのに時間がかかったらこの条件に引っかかるんですね。

リクエストを送信したら、バックエンドはリクエストに対しての応答をnginxサーバに行います。(3)
バックエンドサーバからのレスポンスが遅ければ、proxy_read_timeoutの条件に引っかかり、タイムアウトが発生します。

ちなみに、
nginxとバックエンドとのコネクションが張れなければsendは発生しないし、sendが発生しなければreadも発生しません!

そこだけを注意して各タイムアウト値の設定を行う必要がありますね。

拍手[19回]

PR