2015-10-09 2 views
2

Я запускаю сервер dev с использованием сервера-сервера. Он предоставляет маршрут POST для json. Впоследствии я могу воспроизвести следующий артефакт производительности - если полезная нагрузка запроса равна < = 1024 байта, она работает в 30 мс, но если она равна даже 1025 байтам, она занимает более 1000 мс.Внезапное падение производительности от 1024 до 1025 байт

Я профилировал, и профиль указывает на rest_framework/parsers.py JSONParser.parse() -> django/http/request HTTPRequest.read() -> django/core/handlers/wsgi.py LimitedStream.read () -> python2.7/socket.py _fileobject.read()

Не уверен, есть ли проблема с буфером. Я использую Python 2.7 на Mac os x 10.10.

+0

похоже "socket.makefile()' проблема. Вы пытались [создать минимальный, но полный пример кода] (http://stackoverflow.com/help/mcve), который использует только 'file = socket.makefile()', 'file.read()' и показывает проблему ? – jfs

ответ

1

Это оказалось связано с заголовком libcurl по умолчанию «Ожидание: 100-продолжить».

Смежные вопросы