wgetを使用したキャッシュ


8

drupal 7を使用します。キャッシュをクリアした後、このようなwgetを使用してすべてのページをキャッシュします。

wget --quiet http://xxx.xxx/sitemap.xml --output-document - | egrep -o "http://xxx.xxx[^<]+" | wget -q --delete-after -i -

それが終わったら、データベースのcache_pageテーブルをチェックインします。すべてのページがそこにあるようです。ただし、ブラウザでページにアクセスすると、事前にキャッシュされていないかのように時間がかかります。私が気づいたのは、ブラウザでページにアクセスした後、次のアクセスの読み込み時間が非常に速いことです。

問題は何でしょうか?この方法をDrupal 6ページで問題なく使用できています。エラーログには、favicon.icoが存在しないこと以外は何も表示されません。

URLのアクセスログは次のようになります。

www.xxx.sk 11.116.206.232--[01 / Jan / 2013:18:09:12 +0100] "GET / myurl HTTP / 1.1" 200 31532 "-" "Wget / 1.13.4(cygwin)"

ログインしていません

編集:私はdrupal 7.14を7.19バージョンに更新しましたが、変更はありません。cache_pageテーブルを調べたところ、ブラウザーを使用してアクセスしたすべてのページは、www.example.com / examplepath_900のように、末尾に_900が付けられた何らかの奇妙な理由で生成されていることに気付きました。パスがデータベーステーブルのセル内に収まらないため、これに気づきませんでした。そのため、ページはキャッシュされません。また、wgetを使用したキャッシングが問題なく期待どおりに機能する同じホストにdrupal 7の新規インストールをセットアップしました。htaccessや設定ファイルにも問題はありません。インストールされているモジュールが原因である可能性がありますか?


どこからやってるの?同じサーバー、または別のサーバー?
mpdonadio

@MPD cygwinターミナルを使用してwgetを実行します。ただし、私のdrupal 7ページは、私のdrupal 6サイトとは別のプロバイダーでホストされています
loparr

HTTPヘッダーを表示できますか?スクリプトを実行した後、ヘッダーを確認して、「X-Drupal-Cache:Hit」のようなヘッダーを探します。しかし、正確なヘッダー名を忘れてしまいました。
mpdonadio

@MPDキャッシュをクリアし、スクリプトを実行しました。cache_pageテーブルにはすべてのリンクが表示されますが、新しくアクセスしたすべてのページのヘッダーにX-Drupal-Cache:MISSが見つかりました。
loparr 2013年

認証済みユーザーとしてテストしていますか?その場合、ページキャッシュはヒットしません。
David Thomas

回答:


3

最新のブラウザはすべてAccept-Encoding〜 'gzip'ヘッダーを送信するため、スパイダーがこれを使用しない場合、キャッシュされたエントリは使用されません(適切なバックエンドでgzip圧縮された応答を生成すると、さまざまなAccept-Encodingヘッダーが追加されます)。ここで役立つwgetの--mirrorオプションを調べることもできます。


webkennyがDrupalのパフォーマンスについて何か言っている場合、それは本当だと思います。+1。
Letharion 2013年

1
コアの場合、gzipヘッダーは重要ではありません。drupal_serve_page_from_cache()
mikeytown2 2013年

3

ケニーのアドバイスはしっかりしています。もう1つのアイデアは、最初のロード時に2番目のロードではなく、ブラウザにキャッシュされる複数のアセットがある可能性があるということです。同じブラウザでテストを実行する代わりに、Chromeシークレットウィンドウでテストを実行し、そのウィンドウを閉じてから、もう一度実行してみてください。これは、Drupalページキャッシュがリクエストを満たすのに失敗した(Gzipのアイデアが原因である可能性がある)か、低速化の原因であるか、ファイルのブラウザーキャッシュが原因でファイルが再度ダウンロードされず、2番目のリクエストが速くなるかどうかを判断するのに役立ちます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.