2017-02-24 1 views
0

Turbogears v2.1.5で構築されたWebゲームでは、ログインしたユーザは定期的に16バイトのメッセージをPOSTします。 POST率が60 POST /秒の場合、サーバーCPUは100%に達します。 (テストのために、各ポストでDBを更新するなどのすべての作業を削除しました。サーバーは単に空の応答を返します)。 1秒当たり500件のリクエストがあり、ゲームのPOSTを使用してそのレートにマッチしたり、そのレートに近づきたい。私たちは本当に毎秒1,000以上のPOSTをしたいと思っています。Turbogears2の1秒あたりのPOSTの最適化

セットアップ:Turbogears v2.1.5、AWS c3。大、Windows Server 2008 R2、Intel Xeon、E5-2680 v2 @ 2.8Ghz 2.8Ghz。

質問:このシナリオでは、500以上のPOSTを1秒あたりに処理するtg2設定やその他の変更はありますか?

答えて

1

TG2.3にアップグレードすることができれば、より最近のリリースでの作業により、フレームワークのパフォーマンス(http://blog.axant.it/archives/452)が大幅に改善されました。 2.3で導入された新しい最小限のモード(http://turbogears.readthedocs.io/en/latest/turbogears/minimal/index.html)からも

あなたは簡単にあなたが(http://turbogears.readthedocs.io/en/latest/reference/config-options.htmlで様々なX.enabledオプションを参照してください)より速度の向上のために...国際化、セッションなどのような必要はありません任意のコンポーネントを無効にすることができます。 i18nと静的ファイルのサポートを無効にすると、通常、パフォーマンスが向上します。

+0

ありがとうございます - あなたのアップグレードや他の参考になることを試みます。あなたはpython2とpython3の使用に起因するパフォーマンスの違いを期待しますか? (現在はpython2を使用しています) – web20

+0

フォローアップ - ここでの主な活動はレスポンスの投稿なので、i18nまたは静的ファイルはパフォーマンスに影響しますか?どちらも、jsonデータPOSTには触れないようです。セッションがどのようにパフォーマンスに影響を与えるかを知ることができましたが、どのユーザーがデータをPOSTしているかを知ることが重要です。 – web20

+0

アップデート:ウェブゲームの関連部分をTG2.3に移植しました。 UbuntuとWindowsでは1秒あたり最高100ポストが見られます。しかし、 "authtkt"クッキーが送られていなければ、Ubuntuでは1秒あたり700ポスト、Windowsでは〜580と表示されます。アイデンティティ関連の3つ以上のデータベースクエリは、かなりの減速を引き起こします(ただし、どのユーザーがPOSTを行っているかを知る必要があります)。 1秒間に1,000回以上のPOST(ユーザーID情報付き)に達するためのヘルプ/アイデアが歓迎されます! – web20

関連する問題