Flask Restful API: сбой API с большой json полезной нагрузкой для малого номера. одновременных пользователей - PullRequest
0 голосов
/ 11 января 2020

Я написал небольшой Flask Rest API для целей обучения. Он хорошо работает, когда я тестирую его как один пользователь.
Затем я узнал о Locust, подумал, что нужно протестировать мой API для нескольких одновременно работающих пользователей, и он не прошел.
Я тестировал API для POST.

Для меньшей JSON полезной нагрузки я могу запустить ее до 400 пользователей, с 55 одновременными пользователями в секунду, и она прекрасно работает.
Для большей JSON полезной нагрузки (20 КБ) она прекрасно работает до 350 пользователей. (5 одновременных), но терпит неудачу после отметки около 370 пользователей.
Ошибка, которую он выдает:
uwsgi_response_writev_headers_and_body_do(): Broken pipe [core/writer.c line 306] during POST /myurl () IOError: write error
Иногда я вижу: SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) !!!

У меня есть это в моем uwsgi.ini:

listen = 2048
enable-thread = True
threads = 32  #I do not understand the relation between this and concurrent users, yet  

Я не вносил никаких изменений в mysql файл conf.
Как улучшить мой API?

(Flask -Restful, MySQL, uwsgi, Nginx, ubuntu)

...