MongoDBで非常に一般的なボトルネックにぶつかっている可能性が非常に高いです。文字列を追加してドキュメントを頻繁に更新しているため、そのドキュメントのスペースが不足している可能性が高く、データベースは、最後に書き換えることで、そのドキュメントをメモリ\ディスクの別のスペースに絶えず移動します。データファイルの。
インデックスを追加すると、書き込みのパフォーマンスが低下するだけなので、大量の読み取りを行わない限り、パフォーマンスの向上には役立ちません。
これを行うには、アプリケーションロジックを変更することを検討します。
- キーワードフィールドのインデックス
- ツイートを検出するたびにデータベースに何かを挿入する前に、キーワードを含むドキュメントをクエリします。存在しない場合は、新しいドキュメントを挿入しますが、
ids
を埋め込みます 配列に偽の文字列の束全体を追加することにより、プロパティ。次に、挿入した直後に、その配列からすべてのIDを削除します。これにより、mongodbはそのドキュメント全体に追加のスペースを割り当て、idフィールドにIDを追加し始めたときに、十分なスペースを確保できるようになります。 - ツイートのIDを
ids
に挿入します フィールド