Почему длительный запрос зависает на моем сервере FastAPI?Python

Программы на Python
Anonymous
Почему длительный запрос зависает на моем сервере FastAPI?

Сообщение Anonymous »


Мне нужна помощь, чтобы разъяснить, как работают асинхронные запросы в FastAPI. Я развернул свое приложение FastAPI+NGINX+Uvicorn на экземпляре t2.small EC2 (1 виртуальный ЦП / 2 ГБ ОЗУ).

Это простой прокси-сервер, который возвращает результат для предоставленного ?url=

асинхронный прокси-сервер (запрос, sUrl): targetResponse = urllib.request.urlopen(urllib.request.Request(url=urllib.parse.unquote(sUrl))) вернуть ответ( status_code=targetResponse.status, content=targetResponse.read().decode('utf-8'), media_type=targetResponse.headers['Content-Type'] ) @app.get("/") async def get_proxy(url: str = "", request: Request = {}): возврат ожидания прокси (запрос, URL) Если я отправлю запрос myfastapiserver.com/?url=example.com и если example.com не отвечает, всем последующим запросам придется ждать до первого время запроса истекло.

Мои вопросы:
[*]Почему при первом запросе мой сервер зависает при попытке получить данные от стороннего веб-сервиса, и этот веб-сервис не отвечает? [*]Могу ли я заставить свой сервер обрабатывать несколько запросов независимо от того, сколько времени занимает каждый из них? [*]Какая была бы разница, если бы у меня было 2 виртуальных ЦП вместо 1?
Заранее спасибо за вашу помощь!

Вернуться в «Python»