配置了一下午环境,跑起来是跑起来了,但是寻摸着一次琢磨透他们嘛。
鉴于gunicorn,supervisor用的不多,网络上找到资料很少(中文)
英文的也有些不太好懂。
想问下gunicorn可以设置worker设置几个比较合适呢。阿里云服务器,双核的。
supervisor是不是也有设置类似worker的地方,配置一下午迷糊了。
nginx呢。晕乎乎的。
另外gevent不太了解,这个有必要上吗。我看配置起来蛮简单的。有什么优缺点呢。
谢谢各位。
学习是最好的投资!
worker か Nginx の Process かは、サーバーの CPU コアの数に基づいて決定されます。Alibaba Cloud にはデュアル コア (2个核) しかありません。
worker
Nginx
Process
CPU
2个核
gunicorn についてはよくわかりませんが、uWSGI にも worker があり、通常は 核数X2 に設定されます。
gunicorn
uWSGI
核数X2
Nginx8工程で十分と言われています。
8
オンラインで Nginx 最適化を検索すると、かなりの数のチュートリアルがあるはずです。
worker については、基本的に CPU コアの実際の数の 1 ~ 2 倍にすることをお勧めします。通常は、コアの数と同じ数の worker を使用します。
supervisorに関しては、workerの設定が見当たりません。
supervisor
実際には、uwsgi + supervisor + nginx の組み合わせを使用します。詳細は google でダウンロードできます。私は公式 wiki に従っているだけで、特別なものは使用していません。
uwsgi
nginx
google
wiki
追伸: 中国語の資料はあきらめてください。ほとんどがボロボロです。英語は読みにくいですが、少なくとも穴には入ることはできません。
Gunicorn ワーカーの数は通常、経験の観点から構成されます 2 * core + 1。コアはコアの数を指します。
2 * core + 1
スーパーバイザーにはワーカーの数を構成する概念はありませんが、プロセスの数は構成されます。numprocs このフィールド
numprocs
gunicorn を使用する場合は、一般に worker_class を gevent に構成することをお勧めします。
worker_class
gevent
gunicorn は一般的に使用される WSGI サーバーです。現在のアプリケーションでは、uWSGI と gunicorn の両方が一般的な選択肢であり、この 2 つのパフォーマンスはそれほど違いはありません。 2 * cpu数 + 1 公式 Web サイトで設定されているワーカー数の値の例は
2 * cpu数 + 1
リーリー 5したがって、対象のデュアルコアサーバーの場合は、適切な
5
supervisor と Gunicorn は、Redis だけでなく、多くのプロセスの管理に使用できるプロセス管理ツールです。私も supervisor の管理に使用しています。実際、worker には procs と呼ばれる数量に似たものがあり、これは実際にはプロセスの数です。つまり、いくつかを設定すると、supervisor は複数のプロセスを開始するのに役立ちます。 。
Gunicorn
Redis
procs
supervisor と Gunicorn のワーカーは独立していることに注意してください。両方を 5 に設定すると、実際には 5 * 5 = 25 のプロセスがサービスを提供することになります。
nginx は通常、リバース プロキシと負荷分散に使用されます。サーバー上で 2 つの Web アプリケーションがローカルに実行されているとします。
はコルーチン用のライブラリであり、通常は gevent アプリケーションで使用されますが、推奨されません。 IO密集型 アプリケーションの場合は、IO密集型 フレームワークを使用して作成することをお勧めします。 Tornado
IO密集型
Tornado
worker
かNginx
のProcess
かは、サーバーのCPU
コアの数に基づいて決定されます。Alibaba Cloud にはデュアル コア (2个核
) しかありません。gunicorn
についてはよくわかりませんが、uWSGI
にもworker
があり、通常は核数X2
に設定されます。Nginx
8
工程で十分と言われています。オンラインで
Nginx
最適化を検索すると、かなりの数のチュートリアルがあるはずです。worker
については、基本的にCPU
コアの実際の数の 1 ~ 2 倍にすることをお勧めします。通常は、コアの数と同じ数のworker
を使用します。supervisor
に関しては、worker
の設定が見当たりません。実際には、
uwsgi
+supervisor
+nginx
の組み合わせを使用します。詳細はgoogle
でダウンロードできます。私は公式wiki
に従っているだけで、特別なものは使用していません。追伸: 中国語の資料はあきらめてください。ほとんどがボロボロです。英語は読みにくいですが、少なくとも穴には入ることはできません。
Gunicorn ワーカーの数は通常、経験の観点から構成されます
2 * core + 1
。コアはコアの数を指します。スーパーバイザーにはワーカーの数を構成する概念はありませんが、プロセスの数は構成されます。
numprocs
このフィールドgunicorn を使用する場合は、一般に
worker_class
をgevent
に構成することをお勧めします。
、公式 Web サイトの例はgunicorn
は一般的に使用される WSGI サーバーです。現在のアプリケーションでは、uWSGI
とgunicorn
の両方が一般的な選択肢であり、この 2 つのパフォーマンスはそれほど違いはありません。2 * cpu数 + 1
公式 Web サイトで設定されているワーカー数の値の例はリーリー
に設定する必要があります。5
したがって、対象のデュアルコアサーバーの場合は、適切なsupervisor
とGunicorn
は、Redis
だけでなく、多くのプロセスの管理に使用できるプロセス管理ツールです。私もsupervisor
の管理に使用しています。実際、worker
にはprocs
と呼ばれる数量に似たものがあり、これは実際にはプロセスの数です。つまり、いくつかを設定すると、supervisor
は複数のプロセスを開始するのに役立ちます。 。supervisor
とGunicorn
のワーカーは独立していることに注意してください。両方を 5 に設定すると、実際には 5 * 5 = 25 のプロセスがサービスを提供することになります。nginx
は通常、リバース プロキシと負荷分散に使用されます。サーバー上で 2 つの Web アプリケーションがローカルに実行されているとします。はコルーチン用のライブラリであり、通常は
それは以上です。公式ドキュメントをもっと読むことをお勧めします。gevent
アプリケーションで使用されますが、推奨されません。IO密集型
アプリケーションの場合は、IO密集型
フレームワークを使用して作成することをお勧めします。Tornado