Я пытаюсь профилировать приложение Flask, у меня есть вызов приложения, который занимает очень много времени, и я не уверен почему. используя werkzeug.contrib.profiler
Я получил эти результаты:
server-dev_1 | PATH: '/review/assign'
server-dev_1 | 140670 function calls (117532 primitive calls) in 7.404 seconds
server-dev_1 |
server-dev_1 | Ordered by: internal time, call count
server-dev_1 | List reduced from 2036 to 30 due to restriction <30>
server-dev_1 |
server-dev_1 | ncalls tottime percall cumtime percall filename:lineno(function)
server-dev_1 | 1 7.190 7.190 7.190 7.190 {method 'disable' of '_lsprof.Profiler' objects}
server-dev_1 | 57/10 0.023 0.000 0.001 0.000 /usr/local/lib/python3.7/dist-packages/gevent/_socket3.py:426(recv_into)
server-dev_1 | 1 0.023 0.023 0.023 0.023 ./myapp/auth/saml.py:57(decorated_function)
server-dev_1 | 887/857 0.009 0.000 0.119 0.000 /usr/local/lib/python3.7/dist-packages/sqlalchemy/orm/attributes.py:274(__get__)
server-dev_1 | 4526/1331 0.006 0.000 0.001 0.000 {built-in method builtins.getattr}
server-dev_1 | 799/414 0.006 0.000 0.005 0.000 /usr/local/lib/python3.7/dist-packages/marshmallow/fields.py:233(serialize)
server-dev_1 | 13846/4532 0.005 0.000 0.010 0.000 /usr/local/lib/python3.7/dist-packages/simplejson/encoder.py:571(_iterencode_dict)
server-dev_1 | 6 0.004 0.001 0.004 0.001 {method 'do_handshake' of '_ssl._SSLSocket' objects}
server-dev_1 | 9632/4516 0.003 0.000 0.009 0.000 /usr/local/lib/python3.7/dist-packages/simplejson/encoder.py:471(_iterencode_list)
server-dev_1 | 344/12 0.003 0.000 0.089 0.007 /usr/local/lib/python3.7/dist-packages/marshmallow/marshalling.py:92(serialize)
server-dev_1 | 10231/10230 0.003 0.000 0.004 0.000 {built-in method builtins.isinstance}
server-dev_1 | 458/89 0.002 0.000 0.003 0.000 /usr/local/lib/python3.7/dist-packages/pymysql/connections.py:981(_read_packet)
server-dev_1 | 55 0.002 0.000 0.008 0.000 /usr/local/lib/python3.7/dist-packages/sqlalchemy/sql/visitors.py:223(iterate)
server-dev_1 | 112 0.002 0.000 0.004 0.000 /usr/local/lib/python3.7/dist-packages/sqlalchemy/sql/selectable.py:3010(_froms)
server-dev_1 | 796/794 0.002 0.000 0.116 0.000 /usr/local/lib/python3.7/dist-packages/marshmallow/utils.py:347(_get_value_for_key)
server-dev_1 | 8/3 0.002 0.000 0.001 0.000 /usr/local/lib/python3.7/dist-packages/gevent/_ssl3.py:312(read)
server-dev_1 | 916/178 0.002 0.000 0.001 0.000 /usr/local/lib/python3.7/dist-packages/pymysql/connections.py:1017(_read_bytes)
server-dev_1 | 56/55 0.001 0.000 0.003 0.000 /usr/local/lib/python3.7/dist-packages/sqlalchemy/orm/loading.py:337(_instance_processor)
server-dev_1 | 55 0.001 0.000 0.002 0.000 /usr/local/lib/python3.7/dist-packages/flask_sqlalchemy/__init__.py:104(_calling_context)
server-dev_1 | 55/8 0.001 0.000 0.007 0.001 /usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/base.py:1163(_execute_context)
server-dev_1 | 107/96 0.001 0.000 0.010 0.000 /usr/local/lib/python3.7/dist-packages/marshmallow/schema.py:469(dump)
server-dev_1 | 208 0.001 0.000 0.005 0.000 /usr/local/lib/python3.7/dist-packages/pymysql/connections.py:410(_parse_field_descriptor)
server-dev_1 | 100/44 0.001 0.000 0.002 0.000 /code/libs/common/utils/decorators.py:659(wrapper)
server-dev_1 | 1563 0.001 0.000 0.001 0.000 /usr/local/lib/python3.7/dist-packages/pymysql/connections.py:240(read)
server-dev_1 | 916/178 0.001 0.000 0.001 0.000 {method 'read' of '_io.BufferedReader' objects}
server-dev_1 | 4532 0.001 0.000 0.011 0.000 /usr/local/lib/python3.7/dist-packages/simplejson/encoder.py:661(_iterencode)
server-dev_1 | 54 0.001 0.000 0.002 0.000 /usr/local/lib/python3.7/dist-packages/sqlalchemy/engine/default.py:638(_init_compiled)
server-dev_1 | 1602 0.001 0.000 0.004 0.000 /usr/local/lib/python3.7/dist-packages/pymysql/connections.py:345(read_length_coded_string)
server-dev_1 | 273/8 0.001 0.000 0.001 0.000 {built-in method _abc._abc_subclasscheck}
server-dev_1 | 8/4 0.001 0.000 0.001 0.000 /usr/local/lib/python3.7/dist-packages/gevent/_socket3.py:375(recv)
Я понятия не имею, что это такое {method 'disable' of '_lsprof.Profiler' objects}
, но кажется, что это занимает большую часть времени?