Change scenario #8093
Replies: 9 comments 3 replies
|
First endpoint is /, in order to check response time |
|
Second endpoint is /user/:id, to check for routing parameters |
|
Third endpoint will be /hello?user=John to test also query parad in url |
|
Fourth endpoint will be /all, to have a big serialization json content, from database |
|
Fifth endpoint will be /filter. The idea is to deserialize filter (given as JSON), pick some data in database and serialize it as json |
|
Suggestions from #6726:
|
|
I think you should set a endpoint /dump that must reply with a dump of the request in a simple format (to avoid relying on 3rd party libs: are we testing them?) For example: Etc. Please randomize params to avoid hard coding of requests. For the same reason I would add some cross check. Eg: /sum?a=35 must return 35+the number on post body. Then try some extra fuzzy test (what if a=pizza or a=-5 or a is missing or...) Every other URL should be a 404 (again: random testing to avoid a strict rule) |
|
Hi @the-benchmarker/web-frameworks , I think about using a real database (postgresql) and a real cache (redis) to compare each framework here. After some reflexion using a mock (harcoded list of data) to mimic database behavior could avoid latency problem (messing results because of this latency), but since the same architecture will be used to tests all frameworks, I guess the latency issue will not be so huge comparing what database testing could bring.
The final purpose is to test raw performance of each framework. For me the more important is not to say that framework A have absolute this figures, but having a relative comparison between framework A and framework B. What do you think ? |
|
I agree, IMO the current test just measures the framework that is fastest at doing nothing! Time ago I also proposed this #3803 (comment) I won't be bound to an actual database but rather have both cpu-bound and io-bound tasks. |
Uh oh!
There was an error while loading. Please reload this page.
Hello all,
In order to make this project more reliable, we need to implement more tests.
The idea is to create a v2 of this project, so we can seamlessly switch to this version when implementations. So v1 and v2 will exists in parallel.
For v2, we will use a SQLite database (in-memory) to make sure we use a lot of data so as we can serialize/ deserialize (JSON) data, but without having latency and db performance issues.
Purpose of this is to have all implementations setup for mid 2025.
Here is a list of endpoints listed for this purpose :
PS : The purpose of this project is to have some raw indicators about frameworks letting any one to choose between stack in context of product creation, or tech migration.
PSS : I'll create a comment per endpoint, please argue for each one in threads, and fill free to suggest in comments
All reactions