English
Open in Telegram

Post🚀 New issue to wemake-services/django-modern-rest by @milssky

13 September 2026
W
wps_forward_bot
🚀 New issue to wemake-services/django-modern-rest by @milssky 📝 Changes in benchmarking (#1505) While working toward #207, I ran into the need for reliable benchmarking. We currently have four workers benchmarked using ab, which does not properly support HTTP/1.1. In particular, ab turns out to handle the -k flag incorrectly: it sends HTTP/1.0 requests with a Connection: Keep-Alive header, and different servers handle these requests differently. As a result, Uvicorn and Granian are effectively being tested under different conditions. Furthermore, when multiple workers are used, the benchmark measures more than just the performance of the request-response lifecycle. The load generator creates a limited number of TCP connections, which the operating system distributes among the worker processes. Each keep-alive connection then remains bound to a single worker. This distribution may be uneven and can vary between runs, significantly affecting the resulting RPS. Therefore, the current results cannot be used to evaluate the impact of individual parts of Django or a future RSGI implementation. I see two possible approaches: 1. Fix the existing benchmark:  • replace ab with a load generator that properly supports HTTP/1.1, such as hey;  • run all servers with a single worker;  • add Granian running in ASGI mode and soon add Granian in RSGO mode;  • use the same concurrency level, duration, and other parameters for every server. 2. Keep the existing benchmark unchanged and add a separate benchmark for the request-response lifecycle:  • use a single worker for Uvicorn, Granian, and Gunicorn;  • use hey as the primary load generator;  • run all servers under identical conditions; Let’s discuss which direction we should take. #feature #help_wanted #django_modern_rest sent via relator
1 · 447 ·

Nearby in the feed

Wwps_forward_bot🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 Fix unused `security` field in `EndpointMetadata` and `_BasePayload` (#1499) We don't use theseWwps_forward_bot🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 Fix `operation_id` default generation rules (#1500) Currently it produces: getAuthedandcookiesc
this message
Wwps_forward_bot🚀 New issue to wemake-services/django-modern-rest by @sobolevn 📝 `test_custom_union_format` failed in CI (#1533) Seed for the repro: --randomly-seed=1177358910 ННикита СоболевПомните про https://github.com/ozeranskii/httptap? Я писал о нем давно еще - > тут. Наклепал много issue, для тех кто хочет вкатиться в OSS или попрактиковаться
ННаходки в опенсорсе: PythonНаходки в опенсорсе: Python@opensource_findings_python · channel · Tech
1 052subscribers346average post reach
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · Index limits · Remove a page · Catalog · Search · How we count