2017-09-27 3 views
1

Ich habe ein Web-Projekt, verwenden nginx, uwsgi, web.py, nginx wird für den Lastenausgleich verwendet, uwsgi wird als Webserver verwendet, web.py ist ein web frameworksuwsgi produzieren viele seltsame Prozess, genau wie verstorbene Prozess

Ich beginne es mit diesem commond "/ usr/local/bin/uwsgi-d /home/sheng/www/lr-server/../log/lr-server/uwsgi.log -s 127.0. 0.1: 8666 -w rc_main -t 20 -M -p 20 --pidfile /home/sheng/www/lr-server/master.pid --enable-threads -R 800 "

dies bedeutet, dass es produziert Zwanzig Prozess, um eine Anfrage zu erhalten, und jeder Prozess erhält 800 Anfragen wie die meisten

als sho w unter normalen Prozess ist

sheng  12414 15051 21 10:04 ?  00:01:45 /usr/local/bin/uwsgi -d /home/sheng/www/lr-server/../log/lr-server/uwsgi.log -s 127.0.0.1:8666 -w rc_main -t 20 -M -p 20 --pidfile /home/sheng/www/lr-server/master.pid --enable-threads -R 800 

15051 ist Mutter pid

in der Regel funktioniert es normal, aber es wird seltsam Prozess zu produzieren, wenn der Server ist sehr beschäftigt und viele Anfragen lange dauern, wie unten dargestellt ist seltsam Prozess :

sheng  23370  1 0 09:08 ?  00:00:00 /usr/local/bin/uwsgi -d /home/sheng/www/lr-server/../log/lr-server/uwsgi.log -s 127.0.0.1:8666 -w rc_main -t 20 -M -p 20 --pidfile /home/sheng/www/lr-server/master.pid --enable-threads -R 800 

werden Sie feststellen, pid dieser Prozess des ist 23370, aber es ist Eltern pid 1, es wie ein gelöschtes process.However, in der Tat, dieser Prozess Speicher benötigen und erhalten keine Anfrage

Ich hatte gehofft, 20 Normal-Verfahren herzustellen Anfrage zu empfangen, aber jetzt ist es mehr als 80 starnge Prozess verarbeiten, wer kann mir sagen, warum und was kann ich tun, um dieses Problem zu lösen

Antwort

0

ich den Grund herausgefunden habe

In meinem python-Projekt, manchmal python R verwenden eine wissenschaftliche Berechnung zu machen

R ist langsam, so dass ein Kollege von mir parallel Technologie verwenden, wird R eine untergeordnete Prozess Gabel

Leider zu berechnen, wenn Eine Anfrage dauert mehr als 20 Sekunden, uwsgi wird den Pytho töten n Prozess, aber aus unbekannten Gründen, diese Kind-Prozess, die R gespalten wird nicht getötet werden, sie sind nur seltsame Prozess, was ich sehe

Verwandte Themen