問題タブ [varnish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2657 参照

varnish - Varnish は分散キャッシュをサポートしていますか?

Varnish はそのキャッシュを複数のマシンに分散できますか?

たとえば、Varnish によってキャッシュされる必要があるデータの量がローカル マシンで使用可能な RAM の量を超える場合、ディスク IO のボトルネックにぶつかるか、または Varnish がリモート マシンを利用してキャッシュを分散できるようになりますか?ディスクIOを避けるには?

0 投票する
1 に答える
7396 参照

caching - VarnishStat の結果を分析するのに助けが必要

私はワニスの初心者です。正常にインストールされ、現在は機能していますが、サーバーのパフォーマンスについて、より知識のある人々からのガイダンスが必要です.

私はこの記事を読みました - http://kristianlyng.wordpress.com/2009/12/08/varnishstat-for-dummies/しかし、サーバーのパフォーマンスについてはまだわかりません。

サーバーは過去 9 時間から稼働しています。時間の経過とともにより多くのコンテンツがキャッシュされるため、キャッシュ ヒット率が向上することは理解していますが、現時点では、サーバー パフォーマンスに関する中間サポートについて懸念しています。

0 投票する
1 に答える
259 参照

php - 一部の URL のページビューをカウントする

私はワニスが大好きですが、少し問題があります。

サイトの一部のリソースのページビューをカウントしています。各ユーザーの複数のビューをカウントしないように、ページビューの増分はセッションによって制限されます。

私はワニスのconfにいくつかの微調整を行い、キャッシュはきちんと機能しますが、残念ながら、以前のカウンターはページが期限切れになるまで無効になります(そしてその間のページビューは雨の涙のように失われます).

どうすればこの機能を維持できるか分かりますか?

Ajax 呼び出しについて考えましたが、それは最良の選択肢ではありません。

あなたができる別の方法はありますか?

ありがとう!

0 投票する
1 に答える
650 参照

varnish - ESIの複数のフラグメント、単一のリクエストにニスを塗りますか?

wordpress マルチサイトのかなり大規模な展開のために、ページの提供時間を改善する任務を負っています。

コンテンツのページ全体のキャッシュにワニスを使用し、その ESI 機能を使用してユーザーのログイン状態に関連付けられた動的コンテンツを含めることを検討しています。ブログの ID、または記事 ID やユーザー ID を含むその他のカスタム ヘッダー。

ESI を介して複数のページ フラグメントを含め、バックエンドからの単一の応答にグループ化する方法を誰かが考え出したことがあるかどうか知りたいです (たとえば、メニューにユーザー名を表示し、サイドバーにカスタム ユーザー ウィジェットを表示する必要があります。ページの残りの部分は静的であり、ワニスによってキャッシュされます. ESI では、2 つのフラグメントを取得して適切な場所に配置するために、バックエンドに 2 つのリクエストを行うことを義務付けていますが、バックエンドでは両方の HTML コードを簡単に生成できます。 1 回実行し、処理のためにワニスに戻します)

0 投票する
1 に答える
996 参照

varnish - Varnish のキャッシュが多すぎて、php がキャッシュされない

私は設定に触れずにVarnishを使用しています(Apacheへの8080へのポート転送のみ)。

しかし、私は2つの問題を抱えています:

  • 画像の URL にアクセスし、画像を削除し、再度アクセスすると存在します... Varnish はそれをキャッシュしました... キャッシュから提供する前に、少なくともファイルが存在するかどうかを最初に確認するように varnish に指示するにはどうすればよいでしょうか?

  • PHP ファイル (つまり、PHP によって生成された HTML コンテンツ) はキャッシュされていません。私は常にヘッダーに表示されます: Age: 0 …何か手がかりはありますか?

ありがとうございました !

0 投票する
2 に答える
2980 参照

varnish - バックエンド仮想ホストを備えたワニス ラウンド ロビン ディレクター

私はこれを行う方法について VCL を理解しようと狂ったように試みてきましたが、それは不可能だと考え始めています。さまざまなホストにサービスを提供するバックエンド アプリ サーバーがいくつかあります。任意のホストのページをキャッシュし、キャッシュを逃したリクエストをリクエスト (「www.site.com」) に元のホスト情報を含めてアプリ サーバーに送信するには、ワニスが必要です。ただし、すべての VCL の例では、バックエンド サーバーに特定のホスト名 (「backend1」など) を使用する必要があるようです。これを回避する方法はありますか?キャッシュ ミスを IP に向けるだけで、リクエスト ホストはそのままにしておきたいと思います。

これが私が今持っているものです:

}

等...

これは私の最初の StackOverflow の質問です。何か重要なことを言い忘れていたら教えてください。ありがとう。

0 投票する
4 に答える
6937 参照

memcached - LAMPサーバーにMemcache、APC、Varnishがあるのは良いことですか

最適化する必要のあるWebサーバーが3つあります。現在、1日あたりのユニークビジター数は2000を少し超えています。サーバーのパフォーマンスを向上させて、トラフィックが増えるとすべてがスムーズに実行されるようにしたいと考えています。

私は(いくつかのブログで)APC、memcacheを読み、VarnishはWebサイトのパフォーマンスを最適化するための最良のツールでした。

静的コンテンツ(利用規約ページなど)と動的コンテンツ(ユーザー設定ページ)がある場合、3つすべてを同時に使用するのは良いですか?

どうもありがとう、J。

0 投票する
1 に答える
1597 参照

spring-security - 覚えておいてください-私はクッキーとワニス

Spring Securityのremember-me機能をVarnishで動作させようとしていますが、これは非常に難しいようです。通常のログインでは簡単です。j_spring_security_checkURLのキャッシュをバイパスするようにVarnishを設定するだけですが、remember-meを使用すると、任意のURLをログインのエントリポイントにすることができます。ユーザーがブラウザを開いたときに最初にヒットするのがVarnishがスキップする(つまり、キャッシュをバイパスする)URLである場合、すべて問題ありませんが、ユーザーがホームページ(またはVarnishがキャッシュするもの)にアクセスすると、奇妙なことが起こります。ユーザーがログインすると、CookieTheftExceptionが発生し、remember-me Cookieがキャンセルされるため、それ以上の自動ログインはできなくなります。私がそれについて考えるとき、これらの2つ(覚えておいてください-私とワニス)は単に一緒に働くことは決してできないように思えます!これは本当ですか?

何がうまくいかなかったのか、何か考えはありますか?どうすれば覚えておくことができますか?私はワニスと一緒に仕事をしますか?ハッシュ関数が問題になる可能性はありますか?

以下にVarnish構成の一部を投稿しています(ハッシュ関数の定義をスキップしました。関連性があると思われる場合は、言ってください)。

更新:ここで最終的な実装をうまく文書化しました。

0 投票する
2 に答える
2955 参照

varnish - ワニス/VCLの達人:ワニスフェッチを使用してリクエスト本文を渡す方法は?

私はワニスにかなり慣れていないのではないかと思いますが、どこにも解決策が見つからないという問題があります(まだ):ワニスはGETリクエストをキャッシュするように設定されています。非常に多くのパラメータを持つリクエストがいくつかあるため、リクエストの本文でそれらを渡すことにしました。これは、Varnishをバイパスする場合は正常に機能しますが、Varnishを通過する場合(キャッシュ用)、要求は本文なしで渡されるため、Varnishの背後にあるサービスは失敗します。

POSTを使用できることはわかっていますが、データを取得したいと思います。また、パスモードを使用すると、Varnishがリクエストの本文を渡すことができることも知っていますが、私が見る限り、パスモードで行われたリクエストはキャッシュされません。私はすでにURLにハッシュを入れているので、問題が発生したときに実際にキャッシュから正しいデータを取得します(URLが実行される限り、呼び出しはすべて同じように見えます)。

問題は、リクエスト本文をWebサーバーに渡すためにvcl_fetchを「ただ」書き直す方法です。ヒントやヒントは大歓迎です!

前もって感謝します

ジョン

0 投票する
2 に答える
1256 参照

varnish - Varnish Cache 初ヒット

専用サーバーでワニスを実行しています。ページをロードすると、Apache 経由で配信され、2 回目以降のヒットでは Varnish Cache 経由で配信されます (つまり、X-Varnish ヘッダーに 2 つのタイムスタンプが表示されます)。

しかし、他のコンピューターから同じページを開くと、バックエンド (apache) から初めて配信され、さらにリロードすると Varnish から配信されます。

ページがすでに Varnish Cache にある場合、新しいコンピューターでも初めて Varnish 経由で配信されるはずではありませんか? 同じ効果を持つデータベース呼び出しなしで、単純な hello world php ファイルを試しました。私の vcl ファイルに何か問題があるのでしょうか、それとも Varnish はこの方法でしか動作しませんか?