0

私のウェブサイトには以下のリクエストフローがあります-

AWS CloudFront -> ELB -> Varnish 4.0.3 -> NginX (リバース プロキシ) -> ELB -> Drupal7

動作中 : 通常の流れは期待どおりに動作しています。

問題: サイトで負荷テストを実行すると、同じリクエストが Drupal サーバーに複数回送信されます。たとえば、私の jMeter はhttp://website/index.phpへの 500 回の呼び出しを攻撃し、~50% のリクエストが Drupal サーバーにヒットしました。

期待: Varnish は、最初に応答するまで、すべて同じ要求を保持する必要があります。

観察: 最初のリクエストに対する応答が来るまで、Varnish はすべて同じリクエストをバックエンドに送信します。

誰かがそのような機能を実装している場合は、共有してください

4

1 に答える 1

0

ドキュメントが言うように、Varnishはこれらのリクエストを保持する必要があるため、奇妙です: https://www.varnish-cache.org/docs/4.0/users-guide/vcl-grace.html

おそらく、バックエンドに到着した最初のリクエストは、「HIT-FOR-PASS」を取得するキャッシュ不可能なレスポンスになります (後続の同じリクエストはキャッシュにヒットせず、バックエンドから直接フェッチされます)。

varnishlog からの出力は何ですか。キャッシュを防止する特別なヘッダーを送信していますか?

于 2016-10-21T12:23:59.117 に答える