問題タブ [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 投票する
5 に答える
2907 参照

varnish - Varnish で特定のリクエストに対して req.connection_timeout を設定する方法はありますか?

PHPマシンの前にVarnishのセットアップがあります。ページの 98% で、単一の要求タイムアウト ( req.connect_timeoutVLC で) が機能します。ただし、タイムアウトするまでに最大 3 分かかると予想されるページがいくつかあります。Varnish で特定のリクエストに対して req.connection_timeout を設定する方法はありますか? もしそうなら、VCLで光を見せてください。すべてのページで同じに保ちたいのですreq.connect_timeoutが、これらのいくつかの特定のページではその数を増やします.

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

java - バックエンド時間ではなく、ワニスのクライアント待機時間を制限する

バックエンドの応答時間を制限することなく、ワニスでクライアントの応答時間を保証するソリューションを探しています。

バックエンドで平均して 1 秒以内に計算する約 100 の異なるリソース (http://host/resource.js?id=1 など) があります。リソースは varnish によってキャッシュされるため、各リソースを多数のクライアントに同時に提供できます。リソースは同期 (ページ ブロッキング) JavaScript として含まれているため、応答は高速 (たとえば 3 秒) で提供されます。クライアントの応答時間を保証したいので、バックエンドのタイムアウトをこの 3 秒に設定する以外に良い解決策は思いつきませんでした。vcl の例は次のようになります。

私の問題は次のとおりです。バックエンドを 5 分間停止して再起動した後 (ワニスが猶予期間内に古いデータを提供している間)、多くの異なるリソース (TTL を超えているが猶予内) がバックエンドで同時に取得されます。これはデータベースに大きな打撃を与え、3 秒以内に配信されるリソースはなく、何もキャッシュされません。

この問題を回避するにはどうすればよいですか? クライアントの応答時間を保証したいが、バックエンドの応答時間を制限したくない. 失敗 (ダミー JavaScript) は一時的に許容されます。リクエストを時間の経過とともに分散させる方法はありますか? (古いデータはエラーより優先されます)。

ありがとう、アイバー

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

php - この SQL クエリがサーバーを強制終了するのはなぜですか?

VarnishキャッシュサーバーからSQLサーバーでこのクエリを実行すると。

aiki_users80000 行を超えるテーブルを使用

およびocal_files30000 行を超えるテーブル。

サーバーを殺します。ajax経由でphpスクリプトから呼び出されます。それを呼び出しているページを閉じる必要があります。

何を返すかはわかりませんが、やりたいことはgroup byとhavingで作成する必要があることは知っていますが、方法がわかりません。

aiki_users テーブルは次のようになります。

サーバーへの正しいアクセス権がありません。ocal_files の定義が表示されませんが、次のようになります。

クエリがどれほど悪いのか、何を返すのか教えてもらえますか?

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

php - ESI:includeスクリプト内からどのようにCookieを設定しますか?

サーバーにコールバックしてCookieを設定する単一のESIインクルードを使用してVarnishを介してロードされている基本的なPHPページがあります。クッキーはドメインアクセスなどで設定されますが、ESIを介して呼び出された場合、クッキーは設定されません。ESIインクルードパスに直接アクセスする場合、Cookieは問題なく設定されます。VCLがCookieを強制終了する可能性があると考えて、Varnish構成を何もキャッシュしないように設定しました。

これ...

...これを含む...

私はVarnishとESIを初めて使用するので、これが既知の制限(ESIまたはVarnishのESI実装のいずれか)であるかどうか疑問に思い始めていますが、オンラインで問題の説明を見つけることができません。

0 投票する
5 に答える
16343 参照

php - バックエンド TTL が変更されない限り、ワニス キャッシュがセッションで PHP をキャッシュしない

私は Varnish Cache を初めて使用するので、質問があります。助けていただければ幸いです。

私は非常にシンプルで基本的な設定をしていますが、何らかの理由で理解できるように機能していません。

これは、Cookie を使用している PHP ページを Varnish がキャッシュしないことに関連しています。

これが私のセットアップです:

1) 私の default.vcl には単純なバックエンドがあります

2) 次の 2 行のみを含む単純な PHP ファイルがあります。

3) このページを呼び出すと、必要な vcl ルールを追加していないため、正しくキャッシュされません。

4)

したがって、ドキュメントの私の理解に従って、これら2つのルールを追加します

5) PHP ページはまだキャッシュされません。Set-CookieFireFox で FireBug を使用しているため、ヘッダーが削除されていることがわかります。

PHP がキャッシュするのは、これをサブ vcl_fetch に追加した場合のみです。

私の質問は、これは正しいですか?

バックエンド応答の ttl を変更する必要があるとは思いませんでした。Cookie の設定を解除するだけで、セッション付きの PHP が強制的にキャッシュされると思いました。

私の完全なデフォルトのvclは次のとおりです。

私の起動コマンドは次のとおりです。

私が呼び出している URL は次のとおりです。

私のindex.phpファイルには次のものしかありません:

これが正しいように見えるか、それとも間違っているかをコミュニティに尋ねたいと思います。基本的に、最終的にページキャッシュをニスに入れるために beresp.ttl = 24h を追加しなければならなかった理由がわかりません。

これはいらないなと思いました。

どんなアドバイスでも大歓迎です。

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

敬具。

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

varnish - Varnish - TTL と現在の日付

現在の日付に基づいて TTL を設定したいと思います。

http://site.com/2011/03/の TTL は 5 日間です。
http://site.com/2011/04/の TTL は 1 日です。
現在の日付: 2011 年 4 月 15 日

これはワニスでどのように可能ですか?

どうも

0 投票する
3 に答える
7775 参照

php - Cookie は Varnish キャッシングにどのように影響しますか?

Varnish キャッシングは、Omniture によって設定されたサードパーティの Cookie と、Google アナリティクスによって設定されたファーストパーティの Cookie にどのように影響しますか?

これまでのところ反対意見を見てきましたが、追跡統計は JavaScript によって作成されるため (これは本当です)、リクエストからこれらの Cookie を削除しても GA や Omniture には影響しないという人もいます。

ただし、ここでは、これらのソフトウェアがさまざまな Cookie を設定して定期的な訪問者を追跡していると言っているため、これらの Cookie をリクエストから削除すると、基本的にすべてのユーザーが新しい訪問者としてカウントされます。

ユーザーが毎回新規訪問者としてカウントされないようにしたい。これらの JavaScript 埋め込みに、ページが初めての訪問者または定期的な訪問者に提供されているかどうかを計算する機能があるかどうかもわかりません. 公式の GA または Omniture ドキュメントへのリンクを歓迎します。

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

php - Varnish Cache は ESI インクルードを行いません

非常に単純な Varnish Cache ESI テストでさえ機能しないという問題があります。
試行錯誤した後、私はここで尋ねると思いました。

基本的に、ESI ファイルは含まれません。インクルードせずにHTMLを返すだけです。

これが私のワニス開始コマンドです:

私がテストしているURLは次のとおりです。

私の vcl ルール:

1) デフォルト.vcl

私のサンプルテストesiコード

2) test.php

esi への php インクルード

3) esi_1.php

上記の vcl ルールのさまざまなバリエーションを試しました。
すべてが機能しません。どこが間違っているのかわかりませんか?

アドバイス/ヘルプをいただければ幸いです。

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

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

varnish - varnishadm削除構成

ワニスにロードした構成を削除できますか?

私は持っています:

構成を上書きしようとすると、「エラーコード106」が表示されます

リスト内の構成を削除できますか?

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

memcached - ワニスとアドセンス

Varnish を使用して、アドセンスを含む動的 (読み取り専用) ページを提供することは解決策ですか? または、代わりに Memcached を使用してデータベース クエリをキャッシュする必要がありますか?