私たちは、バックエンド独自のデータベースを使用して、当社のウェブサイト上の100以上の動的ページにデータを供給しています。 URLの形式はwww.example.com/blah?id=1、www.example.com/blah?id=2などです。これらのページは、データの取得が非常に遅いため、ロードに最大5秒かかることがあります(私たちが接続しているデータベースのため)。PHPのcronジョブが100を超えるダイナミックURLをキャッシュするページ
私の目標は、キャッシュされるように(キャッシュされるように)すべての動的ページに「ループ」して要求を出す(PHPでの)cronジョブを書くことです。
私の最善のアプローチは、出力が無視される「wget」コマンドが埋め込まれたPHPスクリプトですか?私はcURLにアクセスできます。ページをキャッシュするために100個のURLにヒットするスクリプトを書くことにパフォーマンス上の問題はありますか?私たちはもちろん、夜間にピーク時を過ぎて走ります。
ありがとうございました!
。キャッシュファイルを再生成するすべての同時リクエストは傷つきますか?すべてのサーバー側でこれを行うにはクレンナーを使用してください... – HappyTimeGopher
5秒で100のURLで、あなたのすべてのページをループするのに約8.3分かかるでしょう。私は、これがパフォーマンスの問題を一晩中ページをループさせる原因になるとは思わない。しかし、データの取得が帯域幅の要因を遅くする、またはクエリを最適化する必要があるなどの理由があります。 –
ありがとう、みんな。パフォーマンスの問題は、データを取得しているクエリにあります。私たちが使用しているデータベース(古いものと組み込みのもの)は、複数のテーブルをクエリするときに大幅に速度が低下します。すべてを完全に書き直して「実際の」データベースに切り替える前に、100個のURLを「wget」して24時間のキャッシュにロードします。要求は並行しないでしょう。私は一度に1つずつループで実行します。私はいくつかの "スターター"コードを例として見つけたいと思っていました。これはwgetやカールを利用したものです。 – scottystang