У меня есть сервер, написанный на Python 3.6
, используя фреймворки flask (1.0.2)
, и SQLAlchemy (2.4.0)
. У меня есть несколько обращений к сторонним службам, таким как API визуализации.
У меня есть несколько вызовов API, выходящих из RESTfuly (чтобы убедиться, что API не вешают их, я также добавил таймаут). Однако после нескольких вызовов API программа зависает, но всегда в той же точке, где библиотека Google выполняет вызов API через gRPC.
Первоначально я предполагал, что сервер завис, потому что я использую ORM с активной загрузкой. Какой IMO на самом деле не является хорошей причиной, потому что большинство результатов запросов не очень большие, чтобы сервер завис.
Мое второе предположение заключается в том, что конкретный сервер места зависает почти все время, когда он вызывал API Google, используя собственный SDK, который внутренне использует, gRPC.
Может ли gRPC вызывать проблемы, когда он действует как клиент и работает за балансировщиком нагрузки (классический AWS)? Если да, какие действия нужно выполнить, чтобы преодолеть этот сбой?
Проблема никогда не возникает в локальной среде (которая имеет около 8 ГБ ОЗУ и 16 ГБ ОЗУ) для тех же данных. Программа потребляет примерно 150 МБ памяти. На сервере, являющемся AWS, управляется несколько экземпляров эластичного beanstalk (работающего на экземпляре ec2 t2.micro 1 ГБ ОЗУ). За AWS классический балансировщик нагрузки.