调试正在运行的python程序的性能问题

工具集

  • viztracer
  • py-spy

用法

viztracer带上attach参数

  • viztracer --attach $pid

  • py-spy top --pid $pid

py-spy示例

root@test:/usr/local/miniconda3/bin# ./py-spy top -i --full-filenames -p 656364


Collecting samples from '/usr/local/bin/python3 -u /usr/local/test/test.py' (python v3.7.7)
Total Samples 335200
GIL: 1.00%, Active: 2.00%, Threads: 4

  %Own   %Total  OwnTime  TotalTime  Function (filename:line)                                                                                                                                  
 23.00%  23.00%   10998s    10998s   do_poll (/usr/local/miniconda3/lib/python3.7/site-packages/urllib3/util/wait.py:105)
  0.00%   0.00%    3664s     3664s   _wait_for_tstate_lock (/usr/local/miniconda3/lib/python3.7/threading.py:1060)
100.00% 100.00%    3510s     3510s   wait (/usr/local/miniconda3/lib/python3.7/threading.py:296)
100.00% 100.00%    3333s     3333s   _worker (/usr/local/miniconda3/lib/python3.7/concurrent/futures/thread.py:78)
100.00% 100.00%    3331s     3331s   __keepalive_check (/usr/local/nta/apps/api/device/device_analysis.py:748)
100.00% 100.00%    3273s     3273s   select (/usr/local/miniconda3/lib/python3.7/selectors.py:415)
  0.00%   0.00%   512.0s    512.0s   get_cipher_list (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:2034)
  0.00%   0.00%   254.5s    254.5s   create_connection (/usr/local/miniconda3/lib/python3.7/site-packages/urllib3/util/connection.py:74)
  1.00%   1.00%   175.0s    238.0s   do_handshake (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1933)
  0.00%   0.00%   106.0s    106.0s   __init__ (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1577)
  0.00%   0.00%   89.26s    89.30s   set_cipher_list (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1202)
  0.00%   0.00%   87.15s    87.15s   __init__ (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:728)
  0.00%   0.00%   84.90s    84.90s   print_exception (/usr/local/miniconda3/lib/python3.7/traceback.py:105)
  0.00%   0.00%   68.76s    68.76s   __init__ (/usr/local/miniconda3/lib/python3.7/socket.py:151)
  0.00%   0.00%   66.31s    66.31s   __init__ (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1608)
  0.00%   0.00%   64.11s    64.11s   __init__ (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1605)
  0.00%   0.00%   57.99s    57.99s   checkcache (/usr/local/miniconda3/lib/python3.7/linecache.py:74)
  0.00%   0.00%   53.22s    53.22s   send (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1756)
  0.00%   0.00%   47.57s    47.57s   recv_into (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1839)
  0.00%   0.00%   45.86s    876.1s   set_ciphers (/usr/local/miniconda3/lib/python3.7/site-packages/urllib3/contrib/pyopenssl.py:446)
  0.00%   0.00%   35.35s    35.35s   exists (/usr/local/miniconda3/lib/python3.7/genericpath.py:19)
  0.00%  22.00%   31.04s    10862s   readinto (/usr/local/miniconda3/lib/python3.7/socket.py:589)
  0.00%   0.00%   29.32s    29.32s   _real_close (/usr/local/miniconda3/lib/python3.7/socket.py:414)
  0.00%   0.00%   26.66s    26.66s   _raise_ssl_error (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1644)
  0.00%   0.00%   20.33s    37.28s   close (/usr/local/miniconda3/lib/python3.7/site-packages/urllib3/connectionpool.py:468)

Press Control-C to quit, or ? for help.

process 656364 ended

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值