uwsgiサーバの構成と管理
1985 ワード
一、uwsgi.ini注記
二、傍受キューの最大値調整
Sysctl-a//にはkernelパラメータと値がすべて表示されます. sysctl -w net.core.somaxconn=32768//kernelパラメータnet.core.somaxconnの値は32768に設定され、変更はすぐに有効になりますが、マシンを再起動するとデフォルト値に戻ります.変更を永続的に保持するためにはviを/etc/sysctlに使用する必要がある.confにnet.を1行追加core.somaxconn=4000、コマンドsysctl-pリフレッシュを実行して有効にします
/etc/sysctl.confの他の関連システムパラメータ#は、新しい接続を頻繁に処理する高負荷ウェブサービス環境にとって、デフォルトの128は小さすぎて、プロジェクトの推定に基づいて接続規模を大きくすることを提案する.core.somaxconn=262144//uwsgi.iniのlistenオプションは、まずシステムパラメータを大きくしてからuwsgiのリスニングキュー長を高めます.なぜなら、listenのキュー長はシステムパラメータで規定された最大接続数を超えてはいけないからです.
#SYNキューの長さを示す、デフォルトは1024、キューの長さを大きくする8192、接続待ちのネットワーク接続数netをより多く収容できる.ipv4.tcp_max_syn_backlog = 8192
#NICデバイスはリクエストをキューの長さnetに入れる.core.netdev_max_backlog = 65536
三、uwsgi管理(uwsgiで再起動と閉じることを推奨)
1.uwsgiを起動する
uwsgi --ini uwsgi.ini//プロファイルから起動し、コマンドパラメータをiniファイルに統一
2.uwsgiを再起動する
(1)uwsgiコマンド再起動
uwsgi --reload uwsgi.pid //uwsgi.pidファイルパスはiniファイルで構成され、uwsgiが起動すると開いているプロセスのpid番号が自動的にファイルに書き込まれます.
(2)システムコマンド再起動
kill-Hop pid#友好的に再起動して、セッションを失うことはできなくて、pidはmasterプロセスのpidkill-TERM pid#のために強制的に再起動して、セッションを失うかもしれなくて、pidはmasterプロセスのpidです
3.uwsgi運転状態の表示
uwsgi --connect-and-read uwsgi.statusまたは127.0.0.1:9191//jsonを返し、プロセスとworkerの詳細ステータスを表示します.
4.uwsgiを閉じる
(1)uwsgiコマンドクローズ
uwsgi --stop uwsgi.pid
(2)システムコマンドクローズ
kill-INT pid//pidはmasterプロセスのpidです
[uwsgi]
http-socket=:55555// uwsgi socket(ip+ )
callable=app//uwsgi python ,Flask app,
wsgi-file=server.py// , ini
master=true//
processes=8//
threads=4//
enable-threads=true//
stats=127.0.0.1:9191// json , worker
pidfile=uwsgi.pid// uwsgi pid,
listen=1024// , 100, 100 ,
chdir = /project //
daemonize=uwsgi.daemonize.log// ,
memory-report=true// ,
buffer-size=65535// ( request-body), 。 , 4k, cookies
二、傍受キューの最大値調整
Sysctl-a//にはkernelパラメータと値がすべて表示されます. sysctl -w net.core.somaxconn=32768//kernelパラメータnet.core.somaxconnの値は32768に設定され、変更はすぐに有効になりますが、マシンを再起動するとデフォルト値に戻ります.変更を永続的に保持するためにはviを/etc/sysctlに使用する必要がある.confにnet.を1行追加core.somaxconn=4000、コマンドsysctl-pリフレッシュを実行して有効にします
/etc/sysctl.confの他の関連システムパラメータ#は、新しい接続を頻繁に処理する高負荷ウェブサービス環境にとって、デフォルトの128は小さすぎて、プロジェクトの推定に基づいて接続規模を大きくすることを提案する.core.somaxconn=262144//uwsgi.iniのlistenオプションは、まずシステムパラメータを大きくしてからuwsgiのリスニングキュー長を高めます.なぜなら、listenのキュー長はシステムパラメータで規定された最大接続数を超えてはいけないからです.
#SYNキューの長さを示す、デフォルトは1024、キューの長さを大きくする8192、接続待ちのネットワーク接続数netをより多く収容できる.ipv4.tcp_max_syn_backlog = 8192
#NICデバイスはリクエストをキューの長さnetに入れる.core.netdev_max_backlog = 65536
三、uwsgi管理(uwsgiで再起動と閉じることを推奨)
1.uwsgiを起動する
uwsgi --ini uwsgi.ini//プロファイルから起動し、コマンドパラメータをiniファイルに統一
2.uwsgiを再起動する
(1)uwsgiコマンド再起動
uwsgi --reload uwsgi.pid //uwsgi.pidファイルパスはiniファイルで構成され、uwsgiが起動すると開いているプロセスのpid番号が自動的にファイルに書き込まれます.
(2)システムコマンド再起動
kill-Hop pid#友好的に再起動して、セッションを失うことはできなくて、pidはmasterプロセスのpidkill-TERM pid#のために強制的に再起動して、セッションを失うかもしれなくて、pidはmasterプロセスのpidです
3.uwsgi運転状態の表示
uwsgi --connect-and-read uwsgi.statusまたは127.0.0.1:9191//jsonを返し、プロセスとworkerの詳細ステータスを表示します.
4.uwsgiを閉じる
(1)uwsgiコマンドクローズ
uwsgi --stop uwsgi.pid
(2)システムコマンドクローズ
kill-INT pid//pidはmasterプロセスのpidです