私はサーバにキャッシュエンジンを持っていて、ルートディレクトリの下にあるすべてのファイルをキャッシュしています。私はChokidarを使ってディレクトリツリー全体を(再帰的に)ファイルの変更を見て、それに応じてキャッシュを更新することを考えています。しかし、私は、サブディレクトリに数十万のファイルが含まれているとどうなるかについて心配しています.Chokidarはどのくらい効率的でしょうか?Chokidar(Node.js)の効率はどれくらいですか?
答えて
Chokidarの効率は、実行しているオペレーティングシステムによって異なります。
OS Xでは、これはネイティブのfsevents
APIへのアクセスを提供するモジュールを使用します。これは非常に効率的です。
他のシステムでは、node.jsのfs.watch
またはfs.watchFile
APIを使用します。このフードの下では、fs.watch
はさまざまなシステムAPIを使用して変更を通知されますが、これは合理的に効率的です。 fs.watchFile
は統計ポーリングを使用していますが、これはあなたが記述しているような大きさのディレクトリには不適切です。
私はchokidarオプションusePolling: false
を設定して、CPU負荷を監視してみることをお勧めします。
更新(2015年7月):Chokidarは本来書かれて以来、大幅に改善されており、ポーリングはどのプラットフォームでもデフォルトではなくなりました。
2017年10月の出来事は? Windows/Linuxでchokidarが高速化しましたか?チョキダールのパフォーマンスに関するテストはありますか?どのように深く入れ子ディレクトリchokidarは良いですか?私はそれで1万のファイルを見るつもりです。しかし、その良い方法があるかどうかは分かりません。 –
@SystemsRebooter私はそれをWindows上の50k +ファイルを監視するために使用しています。 100k後はかなりのメモリが使用され、追加が見られません –
- 1. JavaScriptの効率はどれくらいですか?
- 2. WebMatrixの効率はどれくらいですか?
- 3. orderByChild(firebase)の効率はどれくらいですか?
- 4. Node.jsのES6とchokidarでの問題
- 5. YEAR(日付)関数の効率はどれくらいですか?
- 6. MongoDBの予測はどれぐらい効率的ですか?
- 7. カテゴリツリーのDBデザインはどれぐらい効率的ですか?
- 8. node.jsコンソールの幅はどれくらいですか?
- 9. 1対1の関係でのレルムのフィルタリング/ソートの効率はどれくらいですか?
- 10. Node.jsエンドポイントの新しいクラス・インスタンスは効率的にガベージ・コレクションされますか?
- 11. 制限節付きの大規模ソートクエリでSolr/Luceneの効率はどれくらいですか
- 12. トリブルの生存確率はどのくらいですか?
- 13. ダブルメタフォンアルゴリズムの最善/最悪/平均時間効率はどれくらいですか?
- 14. 無料のAndroidアプリの「アクティブなインストール」率はどれくらいですか?
- 15. Node.jsとブラウザのsetTimeout/setIntervalの精度はどれくらいですか?
- 16. (Python GUI)短く効率的なコードを書くにはどうすればいいですか
- 17. 大型アレイの効率はどのくらいの効果がありますか?
- 18. これら2つのソリューションのどちらが効率的ですか? (Javaハッシュセット)
- 19. どちらが効率的ですか:Pythonドキュメントストリングまたはタイプヒント?
- 20. ソケットで最も効率的なサーバー側はどれですか?
- 21. これは非効率的ですか?
- 22. 大きなハッシュマップをメモリ上で効率よくソートするにはどうすればいいですか?
- 23. ドットプロダクトメソッドをJavaでより速く効率的にするにはどうすればいいですか?
- 24. どちらがより効率的で、atan2かsqrtですか?
- 25. オブジェクトから親オブジェクトの親に効率的にアクセスするにはどうすればいいですか?
- 26. 大きなグラフを格納するのにSBCLはどのくらい効率的ですか?
- 27. どちらが効率的か、itoaかsprintfですか?
- 28. このクエリをRuby on Railsで効率的に書くにはどうすればよいですか?
- 29. 最も効率的なゼロ値はどれですか?
- 30. メモリ/プロセッサはどれが効率的ですか?
頻繁にアクセスされるファイルのキャッシュを処理するために、OSの組み込みバッファキャッシュに頼ることはできませんか? – robertklep
実際には、これは私の心を逃げました...しかし、私はまだサーバーキャッシュが必要ですが、かなりのファイルの一部が前処理されています(たとえば、すべての.jsファイルが自動的に圧縮されてしまいます)ので、すべてgzipされます。私がバッファキャッシュに頼っているのであれば、メモリから直接gzippedのコンテンツを提供するのではなく、毎回minificationとgzippingを行う処理を無駄にするでしょう。 – Jon
おそらく、アプリの前処理ステップで結果がキャッシュに保存される可能性がありますか?おそらく、100Kファイルを見てもうまくいくわけではありません。 – robertklep