3

私が計画している解決策が理にかなっているかどうかを確認するために、「理論的な」質問があります。

設定、構成などを含む多くのデータをデータベースから読み取り、それを (登録ユーザーごとに) 一緒に構築するスクリプトがあります。理由や正確な内容についてはあまり詳しく説明しません。

私の考えは、実際には一度だけ実行して.inc、ユーザーの ID を使用してファイルを作成し、キャッシュすることができるというものでした。ユーザーが何かを変更すると、ファイルはもちろん再作成されます。

しかし今、1'000'000 またはそれ以上のファイルでそれを行うとしましょう。これらのファイルを含めると、問題が発生しますか? (一度にすべてのファイルではなく、常に 1 つの特定のファイル)。それは一般的に良い考えですか、それともこれでサーバーにさらに負荷をかけているだけですか?

そして、すべてを同じキャッシュ フォルダーに入れる予定です。そのフォルダーを複数のフォルダーに分割すると、パフォーマンスが向上しますか?

助けてくれてありがとう。

4

2 に答える 2

2

ファイルシステムによって制限されます。フォルダー内のそれほど多くのファイルに到達することはできません。次のようなことができます。

  1. ファイル名をハッシュするfile1.php:3305d5836bea089f2a1758d8e89848c8
  2. ハッシュをいくつかの部分に分割します。3/3/0/5/d/5836bea089f2a1758d8e89848c8
  3. 終わった
于 2012-08-08T14:36:14.863 に答える
2

一部のファイルシステムではそれが許可されず、多くのファイルシステムでは信じられないほど遅くなります.1つのファイルの単純なルックアップは非常に遅く、プログラムはCPUをほとんど消費せずに常にディスクをシークします. これらのファイルを分割して、フォルダーごとに数千のようなものを超えないようにすると、はるかにうまくいくでしょう.

この回答も参照してください。

于 2012-08-08T14:36:22.507 に答える