starlette似乎并不同时运行请求
我正在使用一个简单的演示星级应用程序(在文档中,只需添加asyncio.sleep()
语句:
import asyncio
from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.routing import Route
async def homepage(request):
await asyncio.sleep(1)
return JSONResponse({'hello': 'world'})
app = Starlette(debug=True, routes=[
Route('/', homepage),
])
运行此操作
我正在使用uvicorn
使用加载测试 客户端(例如蝗虫或自定义测试客户端),我看到我每秒得到1个响应,这意味着
不应该同时提供多个请求?
I am using a simple demo Starlette app (right out of the docs, just added an asyncio.sleep()
statement there:
import asyncio
from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.routing import Route
async def homepage(request):
await asyncio.sleep(1)
return JSONResponse({'hello': 'world'})
app = Starlette(debug=True, routes=[
Route('/', homepage),
])
I am running this using uvicorn
Using a load testing client (e.g. locust, or a custom test client), I see that I get 1 response per second, which implies no parallelism.
Shouldn't Starlette serve multiple requests concurrently?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论