Я новичок в разработке Python API и столкнулся с некоторой проблемой производительности при добавлении большего количества одновременно работающих пользователей. У меня есть Flask API, с uWSGI и Nginx, все Dockerized.
API выполняет некоторые преобразования обработки изображений с использованием OpenCV, имеет этап обнаружения объекта с использованием Tensorflow и некоторые этапы OCR с использованием Tesseract. При развертывании и тестировании на пользователе, ответ в порядке, когда мы начинаем добавлять больше одновременных пользователей (даже с приличными числами, например, 50-100 одновременных пользователей), время отклика увеличивается в несколько раз, в 5-10 раз больше.
Для uwsgi я установил следующее:
enable-threads = true
single-interpreter = true
threads = 10
lazy-apps = true
Без этих конфигов у меня также была проблема с ответами Bad Gateway.
Любые предложения о том, что я должен попытаться обновить / изменить, в какой области я должен сосредоточиться, высоко ценятся.
Спасибо!