0

Twitter API (検索と REST) を使用して RESTful Web サービスを提供するアプリケーションを構築しています。現在のスタックは django+postgresql です。Twitter から新しい情報を継続的に収集するプロセスがいくつかあるため、データベースは常に成長しています。django と postgresql がこの種のアプリケーションに適しているかどうかはわかりません。

現在、アプリケーションの実行速度が遅い (例: 1 つのビューでは結果を表示するために 682 のクエリが作成され、別のビューでは 2228 のクエリが作成されます)、クエリを微調整し、可能な限りキャッシュして、いくつかのタスクを非同期的にまたは直接切り替えて実行することで、パフォーマンスを改善することを検討しています。 mongodbを使用してTornadoに(asyncmongoを介して)。

4

1 に答える 1

1

まず第一に、トルネードは重いビューでアプリケーションをダウングレードすることを理解する必要があります。Django は、ページに何千ものクエリがあるアプリに適しています。この場合、ブロッキング モデルを使用すると混乱が少なくなります。

次に、ストレージ アーキテクチャを再考する必要があるため、tornado + mongodb に切り替えるとアプリケーションを改善できます。

ここでの問題は、ツールではなくストレージにあります。おそらくバックグラウンドでより重い計算を行うことによって、ビューでのクエリを減らす方法を見つけてみてください。

于 2012-07-18T09:25:08.097 に答える