0

リモートの読み取り専用データベースにアクセスする必要があるPHP Webアプリケーションがありますが、これはたまたま非常に遅い(クエリあたり8〜10秒)ため、問題はそのデータベースの遅さについて何もできないことですが、できることですその問題に対処するために私の側でできることは何でも。データベース上のデータはあまり変化せず、おそらく 1 日に 1 回か 2 回で、各クエリは比較的小さいため、次のオプションについて考えていました。

  1. リモート データベースを毎日ローカル データベースにダンプします。問題は、データの変更が 1 日遅れることです。

  2. 各クエリにキャッシュを使用します。問題は、データベースの変更後の最初のクエリが常に非常に遅くなることです。

誰か別のアイデアがありますか?

4

2 に答える 2

0

オプション追加の可能性はありますか

3)。遅いデータベースの保守担当者に早急に修正してもらいますか?

そうでない場合は、Matt B のアイデアを採用することができると思いますが、ローカルで対処してください。

2)。クエリごとに (ローカル) キャッシュを使用します。1 日に 2 回、最も一般的なクエリをすべて呼び出すバックエンド cron ジョブを実行して、ローカル データが新しいコンテンツをすばやく見つけられるように「準備」します。そうすれば、'master' データベースへの呼び出しを必要とする異常なことをユーザーが行っている場合でも、ユーザーが遅延に苦しむことはめったにありません。

于 2013-02-24T16:20:24.407 に答える
0

オプション 2 を使用するだけでなく、キャッシュを定期的に更新する cron ジョブを使用するのはどうでしょうか (少なくとも、最も頻繁にアクセスされるページ/検索について)。

于 2013-02-24T15:11:53.943 に答える