Compare commits

...

2 Commits

Author SHA1 Message Date
3b2adea40f up ver
All checks were successful
/ build (push) Successful in 34s
2025-03-02 22:21:00 +01:00
8e82c90734 use python asyncio
All checks were successful
/ build (push) Successful in 43s
2025-03-02 22:19:41 +01:00

View File

@ -12,10 +12,10 @@ This is a 2025 update from previous [2024 benchmark]({{< ref "/posts/22-web-api-
| Framework & Source code | Runtime | ORM | | Framework & Source code | Runtime | ORM |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
| [Laravel 11](https://github.com/adr1enbe4udou1n/laravel-realworld-example-app) ([api](https://laravelrealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/laravel/latest)) | FrankenPHP 8.4 | Eloquent | | [Laravel 12](https://github.com/adr1enbe4udou1n/laravel-realworld-example-app) ([api](https://laravelrealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/laravel/latest)) | FrankenPHP 8.4 | Eloquent |
| [Symfony 7.2](https://github.com/adr1enbe4udou1n/symfony-realworld-example-app) ([api](https://symfonyrealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/symfony/latest)) | FrankenPHP 8.4 | Doctrine | | [Symfony 7.2](https://github.com/adr1enbe4udou1n/symfony-realworld-example-app) ([api](https://symfonyrealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/symfony/latest)) | FrankenPHP 8.4 | Doctrine |
| [FastAPI](https://github.com/adr1enbe4udou1n/fastapi-realworld-example-app) ([api](https://fastapirealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/fastapi/latest)) | Python 3.13 | SQLAlchemy 2.0 | | [FastAPI](https://github.com/adr1enbe4udou1n/fastapi-realworld-example-app) ([api](https://fastapirealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/fastapi/latest)) | Python 3.13 (asyncio) | SQLAlchemy 2.0 (asyncio) |
| [NestJS 10](https://github.com/adr1enbe4udou1n/nestjs-realworld-example-app) ([api](https://nestjsrealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/nestjs/latest)) | Node 22 | Prisma 6 | | [NestJS 11](https://github.com/adr1enbe4udou1n/nestjs-realworld-example-app) ([api](https://nestjsrealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/nestjs/latest)) | Node 22 | Prisma 6 |
| [Spring Boot 3.4](https://github.com/adr1enbe4udou1n/spring-boot-realworld-example-app) ([api](https://springbootrealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/spring-boot/latest)) | Java 21 | Hibernate 6 | | [Spring Boot 3.4](https://github.com/adr1enbe4udou1n/spring-boot-realworld-example-app) ([api](https://springbootrealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/spring-boot/latest)) | Java 21 | Hibernate 6 |
| [ASP.NET Core 9](https://github.com/adr1enbe4udou1n/aspnetcore-realworld-example-app) ([api](https://aspnetcorerealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/aspnet-core/latest)) | .NET 9.0 | EF Core 9 | | [ASP.NET Core 9](https://github.com/adr1enbe4udou1n/aspnetcore-realworld-example-app) ([api](https://aspnetcorerealworld.okami101.io/api/) / [image](https://gitea.okami101.io/conduit/-/packages/container/aspnet-core/latest)) | .NET 9.0 | EF Core 9 |
@ -147,6 +147,7 @@ services:
- DB_PASSWORD=okami - DB_PASSWORD=okami
- DB_DATABASE=conduit_fastapi - DB_DATABASE=conduit_fastapi
- JWT_PASSPHRASE=c2b344e1-1a20-47fc-9aef-55b0c0d568a7 - JWT_PASSPHRASE=c2b344e1-1a20-47fc-9aef-55b0c0d568a7
- UVICORN_WORKERS=2
networks: networks:
- postgres_db - postgres_db
- traefik_public - traefik_public
@ -155,7 +156,7 @@ services:
- traefik.enable=true - traefik.enable=true
- traefik.http.routers.fastapi.entrypoints=websecure - traefik.http.routers.fastapi.entrypoints=websecure
- traefik.http.services.fastapi.loadbalancer.server.port=8000 - traefik.http.services.fastapi.loadbalancer.server.port=8000
replicas: 4 replicas: 2
placement: placement:
max_replicas_per_node: 2 max_replicas_per_node: 2
constraints: constraints:
@ -1036,23 +1037,23 @@ As a side note here, uvicorn is limited to 1 CPU core, so I use 2 replicas on ea
Iteration creation rate = **15/s** Iteration creation rate = **15/s**
```txt ```txt
checks.........................: 100.00% 39678 out of 39678 checks.........................: 100.00% 39525 out of 39525
data_received..................: 321 MB 5.2 MB/s data_received..................: 324 MB 5.2 MB/s
data_sent......................: 3.4 MB 55 kB/s data_sent......................: 3.5 MB 56 kB/s
dropped_iterations.............: 123 1.983368/s dropped_iterations.............: 126 2.032659/s
http_req_blocked...............: avg=23.83µs min=213ns med=799ns max=113.17ms p(90)=1.41µs p(95)=1.59µs http_req_blocked...............: avg=22.84µs min=258ns med=1.01µs max=41.9ms p(90)=1.45µs p(95)=1.6µs
http_req_connecting............: avg=1.42µs min=0s med=0s max=6.53ms p(90)=0s p(95)=0s http_req_connecting............: avg=1.32µs min=0s med=0s max=3.49ms p(90)=0s p(95)=0s
http_req_duration..............: avg=69.21ms min=6.41ms med=54.17ms max=382.34ms p(90)=142.86ms p(95)=166.33ms http_req_duration..............: avg=69.4ms min=6.28ms med=62.49ms max=323.87ms p(90)=131.32ms p(95)=147.63ms
{ expected_response:true }...: avg=69.21ms min=6.41ms med=54.17ms max=382.34ms p(90)=142.86ms p(95)=166.33ms { expected_response:true }...: avg=69.4ms min=6.28ms med=62.49ms max=323.87ms p(90)=131.32ms p(95)=147.63ms
http_req_failed................: 0.00% 0 out of 39678 http_req_failed................: 0.00% 0 out of 39525
http_req_receiving.............: avg=491.01µs min=23.44µs med=282.51µs max=20.46ms p(90)=1.01ms p(95)=1.6ms http_req_receiving.............: avg=410.93µs min=24.46µs med=281.1µs max=17.76ms p(90)=784.35µs p(95)=1.12ms
http_req_sending...............: avg=106.95µs min=17.61µs med=85.46µs max=20.9ms p(90)=155.94µs p(95)=189.16µs http_req_sending...............: avg=121.75µs min=14.48µs med=105.29µs max=11.05ms p(90)=179.47µs p(95)=221.68µs
http_req_tls_handshaking.......: avg=18.91µs min=0s med=0s max=34.33ms p(90)=0s p(95)=0s http_req_tls_handshaking.......: avg=19.44µs min=0s med=0s max=28.07ms p(90)=0s p(95)=0s
http_req_waiting...............: avg=68.62ms min=6.23ms med=53.56ms max=381.34ms p(90)=142.08ms p(95)=165.56ms http_req_waiting...............: avg=68.87ms min=5.63ms med=61.98ms max=323.69ms p(90)=130.68ms p(95)=147ms
http_reqs......................: 39678 639.805458/s http_reqs......................: 39525 637.625912/s
iteration_duration.............: avg=3.56s min=1s med=3.68s max=5.11s p(90)=4.22s p(95)=4.38s iteration_duration.............: avg=3.57s min=822.25ms med=3.74s max=5.09s p(90)=4.25s p(95)=4.37s
iterations.....................: 778 12.545205/s iterations.....................: 775 12.502469/s
vus............................: 3 min=3 max=50 vus............................: 1 min=1 max=50
vus_max........................: 50 min=50 max=50 vus_max........................: 50 min=50 max=50
``` ```
@ -1064,13 +1065,13 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'Req/s', label: 'Req/s',
data: [ data: [
205, 686, 625, 657, 643, 684, 625, 652, 606, 30, 575, 674, 684, 617, 668, 634, 638, 647,
656, 610, 662, 672, 687, 647, 650, 636, 663, 621, 662, 661, 670, 659, 617, 672, 644, 653,
665, 617, 600, 621, 637, 655, 628, 681, 649, 623, 606, 663, 650, 634, 666, 625, 652, 650,
637, 662, 568, 669, 667, 630, 625, 630, 685, 671, 651, 617, 598, 620, 624, 626, 602, 657,
654, 647, 667, 631, 618, 656, 614, 695, 650, 646, 649, 650, 638, 669, 640, 639, 636, 628,
659, 629, 638, 646, 609, 642, 661, 647, 677, 636, 654, 651, 668, 643, 663, 645, 644, 618,
601, 662, 665, 608, 671, 628, 632, 629, 150 575, 627, 622, 660, 643, 644, 637, 626, 413
] ]
} }
] ]
@ -1085,12 +1086,12 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'VUs', label: 'VUs',
data: [ data: [
15, 18, 22, 30, 31, 36, 37, 41, 49, 50, 49, 50, 13, 18, 20, 24, 29, 33, 38, 41, 49, 47, 49, 49,
47, 48, 47, 48, 49, 47, 49, 44, 47, 48, 48, 50, 46, 49, 49, 50, 42, 47, 49, 50, 50, 48, 50, 49,
46, 46, 45, 50, 48, 47, 45, 50, 45, 49, 45, 45, 48, 46, 45, 50, 50, 49, 49, 50, 50, 47, 47, 48,
50, 47, 48, 50, 47, 50, 46, 47, 49, 47, 50, 47, 50, 48, 50, 46, 49, 50, 50, 49, 50, 48, 47, 49,
50, 46, 49, 46, 47, 49, 48, 49, 47, 47, 48, 49, 49, 48, 50, 49, 50, 49, 49, 48, 46, 48, 49, 49,
38, 3 34, 1
] ]
} }
] ]
@ -1101,12 +1102,12 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'Duration (ms)', label: 'Duration (ms)',
data: [ data: [
19, 22, 29, 35, 44, 46, 57, 60, 71, 73, 80, 73, 19, 17, 24, 27, 36, 41, 48, 57, 64, 73, 71, 75,
73, 67, 76, 74, 73, 73, 70, 80, 76, 77, 76, 74, 73, 71, 76, 72, 77, 67, 70, 80, 73, 75, 74, 75,
77, 65, 70, 75, 73, 84, 68, 71, 80, 74, 79, 64, 78, 76, 73, 69, 74, 80, 79, 78, 78, 77, 81, 71,
74, 77, 69, 77, 79, 71, 78, 67, 75, 72, 77, 76, 74, 74, 75, 75, 71, 72, 76, 76, 78, 74, 72, 76,
74, 78, 71, 73, 74, 70, 78, 76, 71, 75, 71, 79, 71, 75, 70, 75, 75, 79, 84, 78, 77, 72, 74, 76,
71, 49, 17 74, 64, 27
] ]
} }
] ]
@ -1120,11 +1121,11 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'User', label: 'User',
data: [ data: [
0.01, 0.48, 0.69, 0.7, 0.02, 0.09, 0.72, 0.72,
0.69, 0.7, 0.7, 0.69, 0.76, 0.76, 0.75, 0.75,
0.71, 0.69, 0.68, 0.69, 0.75, 0.75, 0.76, 0.77,
0.69, 0.41, 0.01, 0.02, 0.78, 0.78, 0.17, 0.02,
0.01, 0.01 0.02, 0.02, 0.02
], ],
borderColor: '#4bc0c0', borderColor: '#4bc0c0',
backgroundColor: '#4bc0c0', backgroundColor: '#4bc0c0',
@ -1133,11 +1134,11 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'System', label: 'System',
data: [ data: [
0.01, 0.16, 0.26, 0.26, 0.01, 0.04, 0.22, 0.21,
0.24, 0.24, 0.25, 0.25, 0.22, 0.23, 0.22, 0.22,
0.26, 0.25, 0.24, 0.24, 0.22, 0.22, 0.21, 0.23,
0.24, 0.16, 0.01, 0.02, 0.22, 0.22, 0.06, 0.01,
0.01, 0.01 0.02, 0.01, 0.01
], ],
borderColor: '#ff6384', borderColor: '#ff6384',
backgroundColor: '#ff6384', backgroundColor: '#ff6384',
@ -1151,11 +1152,11 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'User', label: 'User',
data: [ data: [
0.02, 0.11, 0.46, 0.49, 0.02, 0.04, 0.32, 0.33,
0.48, 0.5, 0.5, 0.49, 0.34, 0.34, 0.34, 0.35,
0.48, 0.48, 0.47, 0.49, 0.34, 0.33, 0.34, 0.33,
0.48, 0.49, 0.05, 0.02, 0.34, 0.35, 0.11, 0.02,
0.02, 0.02 0.02, 0.02, 0.02
], ],
borderColor: '#4bc0c0', borderColor: '#4bc0c0',
backgroundColor: '#4bc0c0', backgroundColor: '#4bc0c0',
@ -1164,11 +1165,11 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'System', label: 'System',
data: [ data: [
0.02, 0.06, 0.24, 0.35, 0.03, 0.03, 0.16, 0.2,
0.28, 0.35, 0.33, 0.3, 0.19, 0.2, 0.21, 0.23,
0.28, 0.32, 0.27, 0.34, 0.23, 0.19, 0.22, 0.18,
0.29, 0.3, 0.04, 0.02, 0.23, 0.2, 0.07, 0.02,
0.02, 0.02 0.02, 0.03, 0.03
], ],
borderColor: '#ff6384', borderColor: '#ff6384',
backgroundColor: '#ff6384', backgroundColor: '#ff6384',
@ -1185,24 +1186,24 @@ vus_max........................: 50 min=50 max=50
Iteration creation rate = **2/s** Iteration creation rate = **2/s**
```txt ```txt
checks.........................: 100.00% 82414 out of 82414 checks.........................: 67.75% 35254 out of 52029
data_received..................: 164 MB 1.8 MB/s data_received..................: 92 MB 1.0 MB/s
data_sent......................: 6.1 MB 68 kB/s data_sent......................: 3.8 MB 42 kB/s
dropped_iterations.............: 64 0.711058/s dropped_iterations.............: 70 0.777606/s
http_req_blocked...............: avg=13.71µs min=208ns med=783ns max=143.23ms p(90)=1.39µs p(95)=1.56µs http_req_blocked...............: avg=23.08µs min=232ns med=1µs max=103.63ms p(90)=1.42µs p(95)=1.56µs
http_req_connecting............: avg=1.28µs min=0s med=0s max=25.89ms p(90)=0s p(95)=0s http_req_connecting............: avg=977ns min=0s med=0s max=5.29ms p(90)=0s p(95)=0s
http_req_duration..............: avg=43.46ms min=3.99ms med=24.29ms max=315.4ms p(90)=108.49ms p(95)=129.33ms http_req_duration..............: avg=74.22ms min=3.71ms med=57.69ms max=366.12ms p(90)=157.54ms p(95)=180.86ms
{ expected_response:true }...: avg=43.46ms min=3.99ms med=24.29ms max=315.4ms p(90)=108.49ms p(95)=129.33ms { expected_response:true }...: avg=68.87ms min=3.71ms med=52.82ms max=366.12ms p(90)=147.21ms p(95)=170.41ms
http_req_failed................: 0.00% 0 out of 82414 http_req_failed................: 32.24% 16775 out of 52029
http_req_receiving.............: avg=205.46µs min=16.8µs med=103.34µs max=23.42ms p(90)=394.08µs p(95)=591.95µs http_req_receiving.............: avg=237.94µs min=18.29µs med=130.97µs max=11.5ms p(90)=498.83µs p(95)=758.8µs
http_req_sending...............: avg=94.88µs min=17.56µs med=78.81µs max=14.63ms p(90)=143.76µs p(95)=171.26µs http_req_sending...............: avg=116.57µs min=16.04µs med=104.78µs max=5.81ms p(90)=174.59µs p(95)=212.82µs
http_req_tls_handshaking.......: avg=9.75µs min=0s med=0s max=29.89ms p(90)=0s p(95)=0s http_req_tls_handshaking.......: avg=19.29µs min=0s med=0s max=27.95ms p(90)=0s p(95)=0s
http_req_waiting...............: avg=43.16ms min=23.62µs med=23.97ms max=315.14ms p(90)=108.17ms p(95)=129.04ms http_req_waiting...............: avg=73.86ms min=3.02ms med=57.38ms max=365.81ms p(90)=157.13ms p(95)=180.31ms
http_reqs......................: 82414 915.642582/s http_reqs......................: 52029 577.972273/s
iteration_duration.............: avg=1m5s min=44.88s med=1m10s max=1m14s p(90)=1m13s p(95)=1m13s iteration_duration.............: avg=1m26s min=1m26s med=1m26s max=1m26s p(90)=1m26s p(95)=1m26s
iterations.....................: 36 0.39997/s iterations.....................: 3 0.033326/s
vus............................: 21 min=2 max=50 vus............................: 47 min=2 max=50
vus_max........................: 50 min=50 max=50 vus_max........................: 50 min=50 max=50
``` ```
{{< tabs >}} {{< tabs >}}
@ -1213,15 +1214,15 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'Req/s', label: 'Req/s',
data: [ data: [
12, 155, 362, 681, 799, 914, 973, 975, 984, 928, 959, 34, 277, 442, 502, 566, 530, 612, 611, 593, 630, 577,
964, 934, 975, 874, 924, 883, 908, 931, 888, 983, 935, 606, 619, 529, 568, 567, 599, 606, 559, 567, 557, 613,
967, 959, 898, 942, 939, 935, 933, 904, 926, 909, 911, 604, 558, 617, 580, 607, 586, 581, 615, 564, 610, 612,
904, 945, 929, 990, 962, 973, 896, 998, 962, 930, 983, 576, 596, 561, 610, 602, 561, 616, 571, 612, 604, 577,
891, 1007, 944, 925, 983, 952, 938, 984, 939, 936, 872, 586, 593, 595, 598, 566, 599, 592, 589, 585, 590, 603,
959, 996, 983, 968, 945, 909, 964, 973, 897, 921, 996, 596, 608, 580, 571, 580, 583, 598, 606, 541, 581, 575,
953, 986, 941, 929, 942, 966, 880, 943, 901, 956, 925, 595, 580, 591, 625, 577, 584, 601, 591, 585, 592, 620,
944, 967, 899, 935, 937, 924, 960, 899, 999, 917, 891, 598, 574, 598, 571, 599, 596, 592, 603, 590, 593, 578,
880, 884, 538 599, 585, 113
] ]
} }
] ]
@ -1240,10 +1241,10 @@ vus_max........................: 50 min=50 max=50
26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
50, 50, 50, 50, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
49, 49, 49, 49, 48, 47, 46, 46, 46, 45, 45, 44, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
43, 43, 43, 42, 41, 40, 40, 40, 38, 36, 35, 34, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
32, 30, 29, 26, 25, 21 50, 50, 48, 47, 47, 47
] ]
} }
] ]
@ -1254,14 +1255,14 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'Duration (ms)', label: 'Duration (ms)',
data: [ data: [
20, 14, 12, 9, 10, 11, 12, 14, 16, 19, 21, 23, 28, 11, 11, 14, 16, 21, 21, 25, 28, 30, 36, 37,
26, 27, 32, 32, 36, 38, 38, 44, 41, 45, 46, 47, 40, 50, 50, 56, 55, 58, 64, 67, 73, 71, 75, 83,
54, 52, 51, 55, 54, 55, 54, 55, 54, 55, 53, 54, 79, 84, 83, 83, 88, 81, 89, 82, 81, 86, 83, 89,
49, 53, 51, 56, 50, 52, 53, 51, 55, 50, 53, 53, 81, 85, 87, 80, 88, 82, 81, 88, 84, 83, 84, 86,
49, 53, 53, 50, 53, 53, 57, 50, 52, 49, 52, 54, 86, 84, 83, 85, 86, 84, 81, 85, 81, 86, 88, 83,
54, 52, 50, 53, 54, 49, 49, 47, 49, 49, 47, 45, 86, 85, 83, 91, 86, 87, 86, 85, 85, 80, 84, 85,
50, 47, 47, 45, 44, 44, 41, 45, 42, 41, 39, 36, 83, 84, 85, 85, 82, 83, 85, 84, 84, 86, 84, 84,
38, 31, 33, 32, 31, 28, 24 84, 82, 86, 81, 81, 79, 80
] ]
} }
] ]
@ -1275,11 +1276,11 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'User', label: 'User',
data: [ data: [
0.01, 0.24, 0.65, 0.68, 0.02, 0.03, 0.53, 0.76,
0.66, 0.69, 0.68, 0.68, 0.8, 0.81, 0.83, 0.83,
0.68, 0.69, 0.69, 0.71, 0.83, 0.83, 0.83, 0.83,
0.69, 0.68, 0.7, 0.7, 0.8, 0.75, 0.83, 0.8,
0.69, 0.68, 0.65 0.83, 0.8, 0.75
], ],
borderColor: '#4bc0c0', borderColor: '#4bc0c0',
backgroundColor: '#4bc0c0', backgroundColor: '#4bc0c0',
@ -1288,11 +1289,11 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'System', label: 'System',
data: [ data: [
0.01, 0.08, 0.23, 0.26, 0.02, 0.02, 0.12, 0.17,
0.25, 0.28, 0.27, 0.25, 0.17, 0.17, 0.17, 0.17,
0.25, 0.25, 0.25, 0.27, 0.17, 0.17, 0.17, 0.17,
0.28, 0.26, 0.27, 0.28, 0.17, 0.16, 0.17, 0.17,
0.27, 0.24, 0.24 0.17, 0.17, 0.16
], ],
borderColor: '#ff6384', borderColor: '#ff6384',
backgroundColor: '#ff6384', backgroundColor: '#ff6384',
@ -1306,11 +1307,11 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'User', label: 'User',
data: [ data: [
0.02, 0.03, 0.24, 0.24, 0.02, 0.02, 0.17, 0.26,
0.25, 0.26, 0.28, 0.28, 0.24, 0.21, 0.22, 0.21,
0.29, 0.28, 0.29, 0.28, 0.22, 0.23, 0.22, 0.22,
0.27, 0.28, 0.29, 0.28, 0.22, 0.23, 0.22, 0.22,
0.28, 0.27, 0.28 0.23, 0.22, 0.22
], ],
borderColor: '#4bc0c0', borderColor: '#4bc0c0',
backgroundColor: '#4bc0c0', backgroundColor: '#4bc0c0',
@ -1319,11 +1320,11 @@ vus_max........................: 50 min=50 max=50
{ {
label: 'System', label: 'System',
data: [ data: [
0.02, 0.02, 0.13, 0.16, 0.02, 0.02, 0.13, 0.21,
0.2, 0.23, 0.23, 0.24, 0.24, 0.26, 0.26, 0.22,
0.26, 0.26, 0.26, 0.23, 0.23, 0.26, 0.24, 0.26,
0.23, 0.25, 0.24, 0.25, 0.26, 0.25, 0.26, 0.26,
0.25, 0.23, 0.23 0.26, 0.26, 0.26
], ],
borderColor: '#ff6384', borderColor: '#ff6384',
backgroundColor: '#ff6384', backgroundColor: '#ff6384',
@ -2291,13 +2292,13 @@ Here are the final req/s results for each framework against PgSQL database.
borderColor: "#0f766e", borderColor: "#0f766e",
backgroundColor: "#0f766e", backgroundColor: "#0f766e",
data: [ data: [
205, 686, 625, 657, 643, 684, 625, 652, 606, 30, 575, 674, 684, 617, 668, 634, 638, 647,
656, 610, 662, 672, 687, 647, 650, 636, 663, 621, 662, 661, 670, 659, 617, 672, 644, 653,
665, 617, 600, 621, 637, 655, 628, 681, 649, 623, 606, 663, 650, 634, 666, 625, 652, 650,
637, 662, 568, 669, 667, 630, 625, 630, 685, 671, 651, 617, 598, 620, 624, 626, 602, 657,
654, 647, 667, 631, 618, 656, 614, 695, 650, 646, 649, 650, 638, 669, 640, 639, 636, 628,
659, 629, 638, 646, 609, 642, 661, 647, 677, 636, 654, 651, 668, 643, 663, 645, 644, 618,
601, 662, 665, 608, 671, 628, 632, 629, 150 575, 627, 622, 660, 643, 644, 637, 626, 413
], ],
}, },
{ {
@ -2388,15 +2389,15 @@ Here are the final req/s results for each framework against PgSQL database.
borderColor: "#0f766e", borderColor: "#0f766e",
backgroundColor: "#0f766e", backgroundColor: "#0f766e",
data: [ data: [
12, 155, 362, 681, 799, 914, 973, 975, 984, 928, 959, 34, 277, 442, 502, 566, 530, 612, 611, 593, 630, 577,
964, 934, 975, 874, 924, 883, 908, 931, 888, 983, 935, 606, 619, 529, 568, 567, 599, 606, 559, 567, 557, 613,
967, 959, 898, 942, 939, 935, 933, 904, 926, 909, 911, 604, 558, 617, 580, 607, 586, 581, 615, 564, 610, 612,
904, 945, 929, 990, 962, 973, 896, 998, 962, 930, 983, 576, 596, 561, 610, 602, 561, 616, 571, 612, 604, 577,
891, 1007, 944, 925, 983, 952, 938, 984, 939, 936, 872, 586, 593, 595, 598, 566, 599, 592, 589, 585, 590, 603,
959, 996, 983, 968, 945, 909, 964, 973, 897, 921, 996, 596, 608, 580, 571, 580, 583, 598, 606, 541, 581, 575,
953, 986, 941, 929, 942, 966, 880, 943, 901, 956, 925, 595, 580, 591, 625, 577, 584, 601, 591, 585, 592, 620,
944, 967, 899, 935, 937, 924, 960, 899, 999, 917, 891, 598, 574, 598, 571, 599, 596, 592, 603, 590, 593, 578,
880, 884, 538 599, 585, 113
], ],
}, },
{ {