Request Lifecycle Lab · 01

Same HTTP.
Different execution models.

Send requests through both models and see how WSGI function calls and ASGI events represent waiting, concurrency, and disconnection.

Running Waiting for I/O Queued Done
ASGI wait mode

WSGI

app(environ, start_response) → iterable

0/5completed
average latency
—
throughput
—

ASGI

async app(scope, receive, send)

0/5completed
average latency
—
throughput
—

Click “Send 5 requests” to run both models at the same time.

t = 0.0s

What to notice

A short HTTP request produces the same result. The difference is that WSGI represents it as one function call, while ASGI represents it as events sent and received.

WSGI is an interface specification; a sync worker is an execution model. Threads and greenlets can give WSGI applications different concurrency behavior.