2017-07-12 23 views
1

私はPythonでWebサービスを作成するのはかなり新しいです。 FlaskのWebサービスを正常に作成し、Gunicornで実行します(Flaskの組み込みサーバーは本番環境には適していません)。 これは私のアプリケーションを(4つのワーカーノードで)実行する方法です。Flask/Gunicorn Webサービス用の1000件の同時リクエストを処理します。

gunicorn --bind 0.0.0.0:5000 My_Web_Service:app -w 4 

問題は、一度に4つの要求のみを処理することです。私はそれが潜在的に1000の要求を同時に処理できるようにしたい。マルチスレッドを使用すべきですか?その他のオプション/提案?

答えて

1

Workersのセクションを読むと、作業がIOバウンドの場合、何千もの接続を処理できる非同期ワーカーに切り替える必要があります。 CPU以外のプロセスを使用することは推奨されません。

+0

私はそれを試してみましょう! – Swapnil

+1

こんにちは、このようなgevent非同期ワーカーを使用しようとしました: gunicorn --bind 0.0.0.0:5000サービス:app -k gevent --worker-connections 1000 これは動作しますが、引き続き着信要求を順次処理しているようです。 例えば、2つの要求を同時に渡してそれぞれの時間を記録すると、サービスは1度に1つの要求を観察し、最初に要求が行われた後に別の要求を処理し始めます。 – Swapnil

+0

geventの仕組みを理解していますか?どのような要望に答えますか?あなたのサーバーをどのようにプロファイルしますか? – Daniel

関連する問題