0

以下によると...supervisordは多くのCPUを使用しています。Supervisor が uWSGI アプリケーションを管理しています。それは多くのように見えませんか?どうすればこの負荷を軽減できますか? nice を +1 に変更できますか?

 1  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||                       76.6%]     5  [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||            85.4%]
  2  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||           85.4%]     6  [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||          87.2%]
  3  [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||                82.2%]     7  [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||                            72.8%]
  4  [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||95.3%]     8  [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||                      77.3%]
  Mem[|||||||||||||||||||||||                                                                                        1558/16050MB]     Tasks: 57, 15 thr; 12 running
  Swp[                                                                                                                   0/7627MB]     Load average: 8.75 8.08 7.21 
                                                                                                                                       Uptime: 01:51:59

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
29617 root       20   0  491M  144M  2604 R 84.0  0.9  1:13.48 /usr/local/bin/uwsgi --loop gevent --carbon 103.4.112.50:2003 --socket 127.0.0.1:8060 --processes 7 --pp /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/ --wsgi-file /home/ubuntu/works
29615 root       20   0  421M  146M  2616 R 84.0  0.9  1:13.79 /usr/local/bin/uwsgi --loop gevent --carbon 103.4.112.50:2003 --socket 127.0.0.1:8060 --processes 7 --pp /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/ --wsgi-file /home/ubuntu/works
29337 root       20   0  444M  169M  2644 R 83.0  1.1  1:31.70 /usr/local/bin/uwsgi --loop gevent --carbon 103.4.112.50:2003 --socket 127.0.0.1:8060 --processes 7 --pp /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/ --wsgi-file /home/ubuntu/works
29613 root       20   0  423M  148M  2624 R 82.0  0.9  1:16.76 /usr/local/bin/uwsgi --loop gevent --carbon 103.4.112.50:2003 --socket 127.0.0.1:8060 --processes 7 --pp /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/ --wsgi-file /home/ubuntu/works
29333 root       20   0  591M  172M  2604 R 82.0  1.1  1:35.10 /usr/local/bin/uwsgi --loop gevent --carbon 103.4.112.50:2003 --socket 127.0.0.1:8060 --processes 7 --pp /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/ --wsgi-file /home/ubuntu/works
29474 root       20   0  428M  153M  2600 R 81.0  1.0  1:20.31 /usr/local/bin/uwsgi --loop gevent --carbon 103.4.112.50:2003 --socket 127.0.0.1:8060 --processes 7 --pp /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/ --wsgi-file /home/ubuntu/works
29611 root       20   0  429M  154M  2616 R 80.0  1.0  1:20.54 /usr/local/bin/uwsgi --loop gevent --carbon 103.4.112.50:2003 --socket 127.0.0.1:8060 --processes 7 --pp /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/ --wsgi-file /home/ubuntu/works
24760 root       20   0 49932 12520  1744 R 33.0  0.1 26:05.37 /usr/bin/python /usr/local/bin/supervisord

監視構成:

# -*- conf -*-

[include]
files = *.supervisor

[supervisord]
pidfile = /var/run/supervisord.pid
nodaemon=false

[supervisorctl]
serverurl=unix:///var/run/supervisord.sock ; use a unix:// URL for a unix socket

[unix_http_server]
file = /var/run/supervisord.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface



[program:uwsgiBidder]
autostart=true
autorestart=true
process_name = uwsgiBidder-%(process_num)s
<% if @enviroment=='production' -%>
command = /usr/local/bin/uwsgi --loop gevent --carbon <%=@carbon_ip_address%>:2003 --socket 127.0.0.1:8060 --processes <%= @bidder_cores %> --pp /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/ --wsgi-file /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/uwsgiBidderServer.py -b 62768 --master --async 2000 --enable-threads --listen 2048 --reload-on-rss 1200 --touch-reload /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbUwsgiBidderServer/uwsgiBidderServer.py 
<% end -%>


numprocs = 1
numprocs_start = 8060
stopsignal=QUIT
#user=www-data
#--uid www-data

これがiotopの出力です

> Total DISK READ:       0.00 B/s | Total DISK WRITE:      27.46 K/s  
> TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND  
> 280 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.27 %
> [jbd2/dm-1-8] 24760 be/4 root        0.00 B/s  388.30 K/s  0.00 % 
> 0.00 % python /usr/local/bin/supervisord
>     1 be/4 roo
4

1 に答える 1

1

uwsgiリクエストログ()をオフにするか、または提供されているUDPログオプション--disable-loggingを使用して他の場所でリクエストをログに記録するようにuwsgiを設定する必要があります。--logto

現在、uwsgiプロセスはstdoutで大量のデータを送信しているため、カーネルは(select()呼び出しを介して)ログデータを処理するために監視対象プロセスを大量にウェイクアップしています。6K qpsを使用すると、その量のログデータを他の何かで処理する必要があります。

于 2012-11-06T11:10:00.653 に答える