0

キャッシュされたファイルから結果を取得するよりも、重い負荷の下で mysql データベースから直接結果を取得する方が速いか遅いかを判断しようとしています。どのような状況でも最速になります。

キャッシュされたファイルを使用している 2 つのデータ セットがあります。PDOを使用しています。

  1. カテゴリ文字、カテゴリ名、およびカテゴリ番号の結果を返すカテゴリのリストが表示されます。ページごとに 400 のカテゴリをプルしています。
  2. 返されるビデオのサムネイル - タイトル、URL、ビュー、ソース、および期間。ページあたりのデータで約 140 のサムを引っ張っています。

配列の結果をシリアル化し、ファイルに保存するようにキャッシュ ファイルを設定しました。キャッシュされたファイルの時間が有効な場合は、キャッシュされたファイルとデータベースの結果が表示されます。

結果を表示するためにキャッシュ ファイルにアクセスするよりも、データベースにクエリを実行する方がよいかどうかを判断しようとしています。私が行ったテストでは、ファイルから結果を取得する方がデータベースよりも高速であることが示されているようです。しかし、私は決して達人ではありません...だから、誰かが私にフィードバックを手伝ってくれるかどうか知りたかったのです。

ありがとう!

4

4 に答える 4

1

ファイルベースのキャッシュよりも高速なのは、たとえば memcached または redis サーバーです!

于 2012-10-02T16:25:00.347 に答える
0

TIAS

キャッシングの要点は、特に一般的に Web サイトの最も遅い部分であるデータベース呼び出しで Web サイトを高速化することです。

しかし、もっと重要なことは、この質問を入力して応答を待つよりもはるかに速くベンチマークを実行できたことです。開発ボックスに xdebug をインストールし、パーサーをダウンロードして、時間を節約できる場所とボトルネックがどこにあるかを教えてください。

于 2012-10-02T16:28:41.793 に答える
0

もちろんキャッシュファイル。それがデータをキャッシュするポイントです。

于 2012-10-02T16:21:58.173 に答える
0

ファイルへのキャッシュは高速です。あなたは正しい道を進んでいます!

使用している UNIX サーバーが 1 つだけで、十分な空きメモリがある場合、おそらく最も簡単で最速の方法は、シリアル化されたデータをメモリ内の /tmp -filesystem のファイルに保存することです。したがって、可能であれば memcached を忘れてください。また、どこにでもキャッシュを実装する忍耐力がない場合は、mysql クエリ キャッシュに十分なメモリを割り当てることを忘れないでください。自作のキャッシングは最も軽く、適切に作れば最速の方法です。

データによっては、有効期限を使用するのではなく、データが変更される直前にキャッシュされたファイルを削除する方がよい場合があります。このようにして、ファイルが存在する場合、データが適切であることがわかります。

そして、あなたは速度に興味があるので... PDO や mysqli の代わりに基本的な mysql 関数を使用することで、より多くのパワーを得ることができます。そしてもちろん、Apacheの代わりに軽量です:)

于 2012-10-02T21:07:04.620 に答える