2016-09-30 56 views
2

我有一個非常基本的應用程序在uwsgi下,由supervisorctl下的信號管理。我使用更便宜的工作人員,並遇到非常令人不安的情況。 uwsgi正在殺死最老的工人,即使它正在處理一個請求,導致500.uwsgi更便宜的殺人工處理請求

如何防止uwsgi殺死處理請求的工人,爲了便宜?

任何幫助/提示深深讚賞。 發現了另一個類似的職位,而不響應:UWSGI killing workers too fast

配置:uwsgi版本:2.0.4

# Auto-scaling 
workers = 30 
cheaper = 2 
cheaper-step = 3 
cheaper-algo = backlog 
cheaper-overload = 2 

日誌:

[pid: 15601|app: 0|req: 13/78] 10.83.9.61() {28 vars in 368 bytes} [Fri Sep 30 02:00:34 2016] POST /xxxxxxxxxxxx => generated 257 bytes in 151 msecs (HTTP/1.1 200) 2 headers in 72 bytes (1 switches on core 0) 
[pid: 15601|app: 0|req: 14/79] 10.83.9.61() {28 vars in 368 bytes} [Fri Sep 30 02:00:35 2016] POST /xxxxxxxxxxxx => generated 186 bytes in 649 msecs (HTTP/1.1 200) 2 headers in 72 bytes (1 switches on core 0) 
[pid: 15600|app: 0|req: 21/80] 10.83.9.62() {28 vars in 369 bytes} [Fri Sep 30 03:30:08 2016] POST /xxxxxxxxxxxx => generated 186 bytes in 2696 msecs (HTTP/1.1 200) 2 headers in 72 bytes (3 switches on core 0) 
Respawned uWSGI worker 1 (new pid: 21009) 
Respawned uWSGI worker 4 (new pid: 21010) 
Respawned uWSGI worker 5 (new pid: 21011) 
[pid: 15601|app: 0|req: 15/81] 10.83.9.62() {28 vars in 370 bytes} [Fri Sep 30 03:30:09 2016] POST /xxxxxxxxxxxx => generated 186 bytes in 3046 msecs (HTTP/1.1 200) 2 headers in 72 bytes (2 switches on core 0) 
[pid: 15600|app: 0|req: 22/82] 10.83.9.63() {28 vars in 370 bytes} [Fri Sep 30 03:30:10 2016] POST /xxxxxxxxxxxx => generated 0 bytes in 3347 msecs (HTTP/1.1 500) 2 headers in 127 bytes (7 switches on core 0) 
worker 2 killed successfully (pid: 15600)  <------------- pid 15600 was interrupted, returned 500 (line above) 
uWSGI worker 2 cheaped. 
[pid: 15601|app: 0|req: 16/83] 10.83.9.62() {28 vars in 369 bytes} [Fri Sep 30 03:30:12 2016] POST /xxxxxxxxxxxx => generated 0 bytes in 2560 msecs (HTTP/1.1 500) 2 headers in 127 bytes (3 switches on core 0) 
[pid: 21010|app: 0|req: 19/84] 10.83.9.63() {28 vars in 369 bytes} [Fri Sep 30 03:30:12 2016] POST /xxxxxxxxxxxx => generated 186 bytes in 2931 msecs (HTTP/1.1 200) 2 headers in 72 bytes (4 switches on core 0) 
worker 3 killed successfully (pid: 15601)  <------------- pid 15601 was interrupted, returned 500 (line above) 
uWSGI worker 3 cheaped. 
[pid: 21011|app: 0|req: 22/85] 10.83.9.61() {28 vars in 370 bytes} [Fri Sep 30 03:30:12 2016] POST /xxxxxxxxxxxx => generated 186 bytes in 3236 msecs (HTTP/1.1 200) 2 headers in 72 bytes (4 switches on core 0) 
[pid: 21009|app: 0|req: 7/86] 10.83.9.61() {28 vars in 370 bytes} [Fri Sep 30 03:30:12 2016] POST /xxxxxxxxxxxx => generated 0 bytes in 3532 msecs (HTTP/1.1 500) 2 headers in 127 bytes (4 switches on core 0) 
worker 1 killed successfully (pid: 21009)  <------------- pid 15601 was interrupted, returned 500 (line above) 
uWSGI worker 1 cheaped. 
[pid: 21011|app: 0|req: 23/87] 10.83.9.63() {28 vars in 369 bytes} [Fri Sep 30 03:30:15 2016] POST /xxxxxxxxxxxx => generated 186 bytes in 1614 msecs (HTTP/1.1 200) 2 headers in 72 bytes (1 switches on core 0) 
Respawned uWSGI worker 1 (new pid: 21013) 
Respawned uWSGI worker 2 (new pid: 21014) 
Respawned uWSGI worker 3 (new pid: 21015) 
[pid: 21011|app: 0|req: 24/88] 10.83.9.61() {28 vars in 369 bytes} [Fri Sep 30 03:30:17 2016] POST /xxxxxxxxxxxx => generated 186 bytes in 2546 msecs (HTTP/1.1 200) 2 headers in 72 bytes (3 switches on core 0) 
[pid: 21010|app: 0|req: 20/89] 10.83.9.62() {28 vars in 370 bytes} [Fri Sep 30 03:30:15 2016] POST /xxxxxxxxxxxx => generated 0 bytes in 4845 msecs (HTTP/1.1 500) 2 headers in 127 bytes (6 switches on core 0) 
worker 4 killed successfully (pid: 21010)  <------------- pid 15601 was interrupted, returned 500 (line above) 
uWSGI worker 4 cheaped. 
[pid: 21015|app: 0|req: 17/90] 10.83.9.61() {28 vars in 369 bytes} [Fri Sep 30 03:30:18 2016] POST /xxxxxxxxxxxx => generated 186 bytes in 2402 msecs (HTTP/1.1 200) 2 headers in 72 bytes (3 switches on core 0) 
worker 5 killed successfully (pid: 21011)  <------------- pid 15601 was interrupted, returned 500 (line above) 

回答