4

最近、私の会社がいくつかのメディアで取り上げられたため、多くのトラフィックが当社の Web サイトに流入しています。私たちはhttp://rayku.comにあるオンラインの個人指導会社で、インタラクティブな HTML5 ホワイトボードを介して、学生が家庭教師のオンデマンド ヘルプを受けられるようにしています。チューターは Google トークを介して通知され、チューターが Google トークを介して送信された自動メッセージのリンクをクリックすると、両方のユーザーがホワイトボードに接続されます。

私たちが抱えている問題は、ホワイトボードに接続するときのワニスに関連しています。残念ながら、不定期に講師がホワイトボードにアクセスできず、次のエラー メッセージが表示されることがあります。

http://grab.by/i65A

サーバーへの接続エラー: 503 サービスを利用できません

エラー503サービスを使用できません

サービスは利用できません

グル瞑想:

XID: 1564976246


ワニスキャッシュサーバー

Cookie をクリアした後、この問題は解決されました (ただし、キャッシュは解決されません)。残念ながら、この問題を再現するのは難しく、Varnish のキャッシュの過負荷と適切なパラメータの取得に関連しているのではないかと私は疑っています。

この問題のデバッグを手伝っていただけませんか? 多くの家庭教師がこの問題を報告しており、そのために多くのセッションがドロップされています:)。

とても有難い!ドニー

4

2 に答える 2

0

VARNISH 3.0.7: この問題にはさまざまな理由があります。現在、サーバーの 1 つでこれを調査しており、複数の問題があることがわかりました。私の場合、「最初の読み取りエラー」は、(画像の取得で) 遅いページでの失敗に関係していました。私が見つけた方法は、varnishlog コマンドを使用することでした。

https://www.varnish-cache.org/docs/3.0/tutorial/troubleshooting.html

  varnishlog -d -c -m TxStatus:503

     24 SessionOpen  c 127.0.0.1 39370 :6081
     24 ReqStart     c 127.0.0.1 39370 657793361
     24 RxRequest    c GET
     24 RxURL        c /inventory/part/MYPAGE.HTML
     24 RxProtocol   c HTTP/1.1
     24 RxHeader     c User-Agent: Mozilla/5.0 (Windows NT 6.1)       AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36
     24 RxHeader     c Referer: https://MYWEBSITE.com/inventory/new?limit=100
     24 RxHeader     c Accept: image/gif, image/x-xbitmap, image/jpeg,       image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, */*
     24 RxHeader     c Accept-Encoding: gzip, deflate
     24 RxHeader     c Accept-Language: en-US
     24 RxHeader     c Pragma: no-cache
     24 RxHeader     c Host: MYWEBSITE.com
     24 RxHeader     c Cookie: PHPSESSID=crp0881ji0qgfdqgtde10ovh72;             laravel_session=eyJpdiI6ImIrRVVGRFBWdHErdk85cU9oQThqemc9PSIsInZhbHVlIjoid0g2Zk56elVybUdlVkVQb0dCdzlVVVBhMWVmVlwvZnRPOFlEOVwvQjRWOW5ITUVyNUFCMGZyRUI5aDlGSVBoWWpsR0Z3NGxZK2NjQ2Z6Q01Lam5IWVdcL3c9PSIsIm1hYyI6ImZlZ
  ....   ....  ....

上記の URI を取得する MYSITE.com で失敗していたことがわかります。この場合、ページに問題があるため、これは予期されたものです。

Varnish には、この問題やその他の問題を軽減するのに役立つ値がいくつかあります。注目すべきは、次のとおりです。

  .connect_timeout = 1s; # Wait a maximum of 1s for backend connection (Apache, Nginx, etc...)
  .first_byte_timeout = 120s; # Wait a maximum of 120s for the first byte to come from your backend
  .between_bytes_timeout = 2s; # Wait a maximum of 2s between each bytes sent

ログに「最初のバイト エラー」が表示された場合は、first_byte_timeout を設定することで解決できます (多くの場合、これでうまくいきます)。私の場合ではなく、上記の場合です。私が実験しようとしているのは、バックエンド「connect_timeout」からの応答タイムアウトです。異常なメッセージが表示される場合は、ワニス構成ファイルで .probe 設定を編集する必要があります。もう 1 つの単純な問題は、ポートが正しく構成されていないか、/httpcheck のプロファイル ファイルに実際にアクセスできないことです (curl でアクセスできることを確認してください)。

PS> 十分な回答が得られていないことに気付いたので、このスレッドに返信します。私の調査が誰かの役に立てば幸いです。

詳細はこちら: https://varnish-cache.org/tips/varnishlog/fetcherror.html

于 2016-12-28T16:23:32.363 に答える
-2

これは、Rackspace の素晴らしい人たちのおかげで解決されたようです! それはキャッシュの問題であることが判明し、画像、js、および css ファイルのみをキャッシュするように Varnish に指示することで、これで問題が解決しました。

于 2012-12-07T22:57:39.710 に答える