0

私は現在、最初のアプリの初期設計段階にあります。

私のアプリでは、1〜5人のユーザーを含む個別のセッションがあります。

各ユーザーのGPS位置を追跡し、各ユーザーにプッシュおよびプルできるようにする必要があります。各ユーザーは、セッション内の他のすべてのユーザーの最後に報告された場所を持ちます。

データセットに対して他の計算が行われますが、それはクライアント側であり、サーバーはユーザーの場所(およびユーザー名)のプッシュとプルのみを処理する必要があります。

アプリの性質上、セッションの90%は2時間以上続くべきではないと予測しています。サーバーが、24〜48時間より古いセッションを終了する可能性があります(アプリの実際のテストが開始されると、セッションがどのくらい続くべきかについてより良い考えを持っている)。

djangoを使用してAPIを構築し、すべてのデータをプログラム自体に保存し、データベースを使用しないことを考えていました。データベースを使用しない方が高速であり、データを保存する必要はないと思います。短い寿命。

これは良い出発点ですか?考えたり考えたりするべきことはありますか?私はバックエンドソフトウェアの設計にまったく慣れていません。

4

1 に答える 1

1

最初はパフォーマンスが問題になることはないかもしれませんが、特定の負荷に達したときに実行できることがいくつかあります。

  • データベースを少し非正規化(冗長な情報をデータベースに入れる)している場合でも、すべてのセッションデータを1つのモデルに保持します。そうすれば、データベースへの読み取りを1回行うだけで、高価なJOINは不要です。
  • Djangoキャッシングフレームワーク(https://docs.djangoproject.com/en/dev/topics/cache/)を使用してビューをキャッシュし、同じデータの複数の読み取りがデータベースに到達する必要がないようにします
  • 最適化を開始する前に、コードのプロファイルを作成して、パフォーマンスのボトルネックが実際にどこにあるかを確認してください。どの操作が高価で、どれがそうでないかに驚くことがあります。
于 2013-01-31T11:45:50.120 に答える