|
|
|
@ -12,10 +12,10 @@ This is a 2025 update from previous [2024 benchmark]({{< ref "/posts/22-web-api-
|
|
|
|
|
|
|
|
|
|
| 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 |
|
|
|
|
|
| [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 |
|
|
|
|
|
| [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 |
|
|
|
|
|
| [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 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 |
|
|
|
|
|
| [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_DATABASE=conduit_fastapi
|
|
|
|
|
- JWT_PASSPHRASE=c2b344e1-1a20-47fc-9aef-55b0c0d568a7
|
|
|
|
|
- UVICORN_WORKERS=2
|
|
|
|
|
networks:
|
|
|
|
|
- postgres_db
|
|
|
|
|
- traefik_public
|
|
|
|
@ -155,9 +156,9 @@ services:
|
|
|
|
|
- traefik.enable=true
|
|
|
|
|
- traefik.http.routers.fastapi.entrypoints=websecure
|
|
|
|
|
- traefik.http.services.fastapi.loadbalancer.server.port=8000
|
|
|
|
|
replicas: 4
|
|
|
|
|
replicas: 2
|
|
|
|
|
placement:
|
|
|
|
|
max_replicas_per_node: 2
|
|
|
|
|
max_replicas_per_node: 1
|
|
|
|
|
constraints:
|
|
|
|
|
- node.labels.run == true
|
|
|
|
|
|
|
|
|
@ -1029,30 +1030,28 @@ Huge gap in performance against Laravel Octane here, about twice better ! Withou
|
|
|
|
|
|
|
|
|
|
### FastAPI
|
|
|
|
|
|
|
|
|
|
As a side note here, uvicorn is limited to 1 CPU core, so I use 2 replicas on each worker to use all CPU cores.
|
|
|
|
|
|
|
|
|
|
#### FastAPI scenario 1
|
|
|
|
|
|
|
|
|
|
Iteration creation rate = **15/s**
|
|
|
|
|
|
|
|
|
|
```txt
|
|
|
|
|
checks.........................: 100.00% 39678 out of 39678
|
|
|
|
|
data_received..................: 321 MB 5.2 MB/s
|
|
|
|
|
data_sent......................: 3.4 MB 55 kB/s
|
|
|
|
|
dropped_iterations.............: 123 1.983368/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_connecting............: avg=1.42µs min=0s med=0s max=6.53ms 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
|
|
|
|
|
{ expected_response:true }...: avg=69.21ms min=6.41ms med=54.17ms max=382.34ms p(90)=142.86ms p(95)=166.33ms
|
|
|
|
|
http_req_failed................: 0.00% 0 out of 39678
|
|
|
|
|
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_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_tls_handshaking.......: avg=18.91µs min=0s med=0s max=34.33ms 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_reqs......................: 39678 639.805458/s
|
|
|
|
|
iteration_duration.............: avg=3.56s min=1s med=3.68s max=5.11s p(90)=4.22s p(95)=4.38s
|
|
|
|
|
iterations.....................: 778 12.545205/s
|
|
|
|
|
vus............................: 3 min=3 max=50
|
|
|
|
|
checks.........................: 100.00% 28764 out of 28764
|
|
|
|
|
data_received..................: 234 MB 3.7 MB/s
|
|
|
|
|
data_sent......................: 2.6 MB 41 kB/s
|
|
|
|
|
dropped_iterations.............: 336 5.300365/s
|
|
|
|
|
http_req_blocked...............: avg=39.99µs min=242ns med=669ns max=68.16ms p(90)=1.14µs p(95)=1.32µs
|
|
|
|
|
http_req_connecting............: avg=1.66µs min=0s med=0s max=3.75ms p(90)=0s p(95)=0s
|
|
|
|
|
http_req_duration..............: avg=103.18ms min=6.22ms med=101.32ms max=452.09ms p(90)=139.92ms p(95)=157.15ms
|
|
|
|
|
{ expected_response:true }...: avg=103.18ms min=6.22ms med=101.32ms max=452.09ms p(90)=139.92ms p(95)=157.15ms
|
|
|
|
|
http_req_failed................: 0.00% 0 out of 28764
|
|
|
|
|
http_req_receiving.............: avg=460.02µs min=28.21µs med=334.44µs max=18.75ms p(90)=862.97µs p(95)=1.19ms
|
|
|
|
|
http_req_sending...............: avg=93.58µs min=21.19µs med=79.76µs max=3.26ms p(90)=141.54µs p(95)=167.69µs
|
|
|
|
|
http_req_tls_handshaking.......: avg=35.6µs min=0s med=0s max=28.74ms p(90)=0s p(95)=0s
|
|
|
|
|
http_req_waiting...............: avg=102.63ms min=5.98ms med=100.76ms max=451.57ms p(90)=139.32ms p(95)=156.56ms
|
|
|
|
|
http_reqs......................: 28764 453.749133/s
|
|
|
|
|
iteration_duration.............: avg=5.28s min=1.61s med=5.38s max=6.19s p(90)=5.71s p(95)=5.79s
|
|
|
|
|
iterations.....................: 564 8.897042/s
|
|
|
|
|
vus............................: 17 min=15 max=50
|
|
|
|
|
vus_max........................: 50 min=50 max=50
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
@ -1064,13 +1063,13 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'Req/s',
|
|
|
|
|
data: [
|
|
|
|
|
205, 686, 625, 657, 643, 684, 625, 652, 606,
|
|
|
|
|
656, 610, 662, 672, 687, 647, 650, 636, 663,
|
|
|
|
|
665, 617, 600, 621, 637, 655, 628, 681, 649,
|
|
|
|
|
637, 662, 568, 669, 667, 630, 625, 630, 685,
|
|
|
|
|
654, 647, 667, 631, 618, 656, 614, 695, 650,
|
|
|
|
|
659, 629, 638, 646, 609, 642, 661, 647, 677,
|
|
|
|
|
601, 662, 665, 608, 671, 628, 632, 629, 150
|
|
|
|
|
50, 371, 331, 391, 475, 450, 464, 464, 467, 450,
|
|
|
|
|
447, 467, 467, 455, 451, 458, 463, 485, 470, 476,
|
|
|
|
|
449, 481, 485, 461, 476, 442, 455, 474, 454, 456,
|
|
|
|
|
439, 478, 472, 436, 473, 453, 463, 471, 456, 455,
|
|
|
|
|
439, 470, 456, 473, 465, 459, 468, 471, 475, 474,
|
|
|
|
|
444, 484, 469, 466, 468, 448, 477, 449, 443, 482,
|
|
|
|
|
444, 452, 432, 374, 1
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
@ -1085,12 +1084,12 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'VUs',
|
|
|
|
|
data: [
|
|
|
|
|
15, 18, 22, 30, 31, 36, 37, 41, 49, 50, 49, 50,
|
|
|
|
|
47, 48, 47, 48, 49, 47, 49, 44, 47, 48, 48, 50,
|
|
|
|
|
46, 46, 45, 50, 48, 47, 45, 50, 45, 49, 45, 45,
|
|
|
|
|
50, 47, 48, 50, 47, 50, 46, 47, 49, 47, 50, 47,
|
|
|
|
|
50, 46, 49, 46, 47, 49, 48, 49, 47, 47, 48, 49,
|
|
|
|
|
38, 3
|
|
|
|
|
15, 27, 39, 50, 50, 50, 49, 48, 48, 50, 50, 50,
|
|
|
|
|
48, 46, 49, 50, 48, 49, 49, 50, 50, 50, 49, 48,
|
|
|
|
|
47, 48, 50, 47, 48, 50, 47, 50, 50, 48, 46, 49,
|
|
|
|
|
50, 50, 50, 49, 48, 50, 48, 49, 50, 50, 49, 44,
|
|
|
|
|
49, 49, 49, 48, 50, 48, 50, 50, 47, 50, 49, 50,
|
|
|
|
|
45, 37, 17
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
@ -1101,12 +1100,13 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'Duration (ms)',
|
|
|
|
|
data: [
|
|
|
|
|
19, 22, 29, 35, 44, 46, 57, 60, 71, 73, 80, 73,
|
|
|
|
|
73, 67, 76, 74, 73, 73, 70, 80, 76, 77, 76, 74,
|
|
|
|
|
77, 65, 70, 75, 73, 84, 68, 71, 80, 74, 79, 64,
|
|
|
|
|
74, 77, 69, 77, 79, 71, 78, 67, 75, 72, 77, 76,
|
|
|
|
|
74, 78, 71, 73, 74, 70, 78, 76, 71, 75, 71, 79,
|
|
|
|
|
71, 49, 17
|
|
|
|
|
21, 34, 77, 93, 102, 110, 107, 104, 105, 109,
|
|
|
|
|
112, 106, 105, 103, 106, 107, 106, 103, 103, 102,
|
|
|
|
|
108, 103, 102, 107, 103, 109, 106, 106, 107, 108,
|
|
|
|
|
112, 103, 103, 111, 105, 107, 105, 104, 107, 107,
|
|
|
|
|
115, 103, 108, 103, 107, 108, 105, 102, 101, 104,
|
|
|
|
|
112, 102, 105, 104, 105, 110, 104, 106, 108, 105,
|
|
|
|
|
111, 102, 85, 47, 8
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
@ -1120,11 +1120,11 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'User',
|
|
|
|
|
data: [
|
|
|
|
|
0.01, 0.48, 0.69, 0.7,
|
|
|
|
|
0.69, 0.7, 0.7, 0.69,
|
|
|
|
|
0.71, 0.69, 0.68, 0.69,
|
|
|
|
|
0.69, 0.41, 0.01, 0.02,
|
|
|
|
|
0.01, 0.01
|
|
|
|
|
0.02, 0.02, 0.1, 0.74,
|
|
|
|
|
0.78, 0.77, 0.79, 0.79,
|
|
|
|
|
0.78, 0.78, 0.78, 0.78,
|
|
|
|
|
0.78, 0.77, 0.78, 0.36,
|
|
|
|
|
0.02, 0.02, 0.02
|
|
|
|
|
],
|
|
|
|
|
borderColor: '#4bc0c0',
|
|
|
|
|
backgroundColor: '#4bc0c0',
|
|
|
|
@ -1133,11 +1133,11 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'System',
|
|
|
|
|
data: [
|
|
|
|
|
0.01, 0.16, 0.26, 0.26,
|
|
|
|
|
0.24, 0.24, 0.25, 0.25,
|
|
|
|
|
0.26, 0.25, 0.24, 0.24,
|
|
|
|
|
0.24, 0.16, 0.01, 0.02,
|
|
|
|
|
0.01, 0.01
|
|
|
|
|
0.01, 0.01, 0.04, 0.2,
|
|
|
|
|
0.21, 0.21, 0.21, 0.2,
|
|
|
|
|
0.21, 0.21, 0.21, 0.21,
|
|
|
|
|
0.21, 0.22, 0.21, 0.1,
|
|
|
|
|
0.02, 0.01, 0.01
|
|
|
|
|
],
|
|
|
|
|
borderColor: '#ff6384',
|
|
|
|
|
backgroundColor: '#ff6384',
|
|
|
|
@ -1151,11 +1151,11 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'User',
|
|
|
|
|
data: [
|
|
|
|
|
0.02, 0.11, 0.46, 0.49,
|
|
|
|
|
0.48, 0.5, 0.5, 0.49,
|
|
|
|
|
0.48, 0.48, 0.47, 0.49,
|
|
|
|
|
0.48, 0.49, 0.05, 0.02,
|
|
|
|
|
0.02, 0.02
|
|
|
|
|
0.02, 0.02, 0.37, 0.5,
|
|
|
|
|
0.5, 0.49, 0.48, 0.5,
|
|
|
|
|
0.49, 0.5, 0.49, 0.5,
|
|
|
|
|
0.49, 0.5, 0.41, 0.02,
|
|
|
|
|
0.03, 0.02, 0.02
|
|
|
|
|
],
|
|
|
|
|
borderColor: '#4bc0c0',
|
|
|
|
|
backgroundColor: '#4bc0c0',
|
|
|
|
@ -1164,11 +1164,11 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'System',
|
|
|
|
|
data: [
|
|
|
|
|
0.02, 0.06, 0.24, 0.35,
|
|
|
|
|
0.28, 0.35, 0.33, 0.3,
|
|
|
|
|
0.28, 0.32, 0.27, 0.34,
|
|
|
|
|
0.29, 0.3, 0.04, 0.02,
|
|
|
|
|
0.02, 0.02
|
|
|
|
|
0.02, 0.02, 0.33, 0.34,
|
|
|
|
|
0.34, 0.33, 0.32, 0.35,
|
|
|
|
|
0.34, 0.35, 0.36, 0.33,
|
|
|
|
|
0.32, 0.36, 0.33, 0.02,
|
|
|
|
|
0.02, 0.02, 0.02
|
|
|
|
|
],
|
|
|
|
|
borderColor: '#ff6384',
|
|
|
|
|
backgroundColor: '#ff6384',
|
|
|
|
@ -1185,23 +1185,23 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
Iteration creation rate = **2/s**
|
|
|
|
|
|
|
|
|
|
```txt
|
|
|
|
|
checks.........................: 100.00% 82414 out of 82414
|
|
|
|
|
data_received..................: 164 MB 1.8 MB/s
|
|
|
|
|
data_sent......................: 6.1 MB 68 kB/s
|
|
|
|
|
dropped_iterations.............: 64 0.711058/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_connecting............: avg=1.28µs min=0s med=0s max=25.89ms 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
|
|
|
|
|
{ expected_response:true }...: avg=43.46ms min=3.99ms med=24.29ms max=315.4ms p(90)=108.49ms p(95)=129.33ms
|
|
|
|
|
http_req_failed................: 0.00% 0 out of 82414
|
|
|
|
|
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_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_tls_handshaking.......: avg=9.75µs min=0s med=0s max=29.89ms 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_reqs......................: 82414 915.642582/s
|
|
|
|
|
iteration_duration.............: avg=1m5s min=44.88s med=1m10s max=1m14s p(90)=1m13s p(95)=1m13s
|
|
|
|
|
iterations.....................: 36 0.39997/s
|
|
|
|
|
vus............................: 21 min=2 max=50
|
|
|
|
|
checks.........................: 100.00% 72770 out of 72770
|
|
|
|
|
data_received..................: 145 MB 1.6 MB/s
|
|
|
|
|
data_sent......................: 5.5 MB 61 kB/s
|
|
|
|
|
dropped_iterations.............: 66 0.733176/s
|
|
|
|
|
http_req_blocked...............: avg=14.03µs min=198ns med=645ns max=144.52ms p(90)=1.11µs p(95)=1.27µs
|
|
|
|
|
http_req_connecting............: avg=629ns min=0s med=0s max=5.17ms p(90)=0s p(95)=0s
|
|
|
|
|
http_req_duration..............: avg=50.94ms min=3.78ms med=38.97ms max=384.02ms p(90)=107.46ms p(95)=136.98ms
|
|
|
|
|
{ expected_response:true }...: avg=50.94ms min=3.78ms med=38.97ms max=384.02ms p(90)=107.46ms p(95)=136.98ms
|
|
|
|
|
http_req_failed................: 0.00% 0 out of 72770
|
|
|
|
|
http_req_receiving.............: avg=200.09µs min=18.28µs med=107.44µs max=18.54ms p(90)=399.04µs p(95)=632µs
|
|
|
|
|
http_req_sending...............: avg=86.57µs min=16.71µs med=73.65µs max=13.95ms p(90)=132.89µs p(95)=158.51µs
|
|
|
|
|
http_req_tls_handshaking.......: avg=10.86µs min=0s med=0s max=28.74ms p(90)=0s p(95)=0s
|
|
|
|
|
http_req_waiting...............: avg=50.66ms min=3.64ms med=38.7ms max=383.81ms p(90)=107.11ms p(95)=136.61ms
|
|
|
|
|
http_reqs......................: 72770 808.381614/s
|
|
|
|
|
iteration_duration.............: avg=1m6s min=49.42s med=1m8s max=1m19s p(90)=1m18s p(95)=1m18s
|
|
|
|
|
iterations.....................: 18 0.199957/s
|
|
|
|
|
vus............................: 37 min=2 max=50
|
|
|
|
|
vus_max........................: 50 min=50 max=50
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
@ -1213,15 +1213,14 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'Req/s',
|
|
|
|
|
data: [
|
|
|
|
|
12, 155, 362, 681, 799, 914, 973, 975, 984, 928, 959,
|
|
|
|
|
964, 934, 975, 874, 924, 883, 908, 931, 888, 983, 935,
|
|
|
|
|
967, 959, 898, 942, 939, 935, 933, 904, 926, 909, 911,
|
|
|
|
|
904, 945, 929, 990, 962, 973, 896, 998, 962, 930, 983,
|
|
|
|
|
891, 1007, 944, 925, 983, 952, 938, 984, 939, 936, 872,
|
|
|
|
|
959, 996, 983, 968, 945, 909, 964, 973, 897, 921, 996,
|
|
|
|
|
953, 986, 941, 929, 942, 966, 880, 943, 901, 956, 925,
|
|
|
|
|
944, 967, 899, 935, 937, 924, 960, 899, 999, 917, 891,
|
|
|
|
|
880, 884, 538
|
|
|
|
|
734, 921, 803, 822, 870, 809, 859, 751, 834, 825,
|
|
|
|
|
786, 779, 811, 928, 869, 802, 802, 802, 832, 802,
|
|
|
|
|
798, 824, 768, 845, 825, 762, 860, 758, 812, 813,
|
|
|
|
|
808, 783, 772, 797, 831, 835, 799, 781, 844, 824,
|
|
|
|
|
787, 801, 769, 819, 799, 774, 837, 776, 837, 826,
|
|
|
|
|
821, 776, 791, 816, 838, 792, 900, 795, 815, 807,
|
|
|
|
|
781, 819, 729, 848, 861, 839, 872, 762, 796, 902,
|
|
|
|
|
790, 791, 791, 830, 815, 835, 832, 583
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
@ -1236,14 +1235,13 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'VUs',
|
|
|
|
|
data: [
|
|
|
|
|
2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
|
|
|
|
|
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, 49, 49, 50, 50, 50, 50, 50, 50,
|
|
|
|
|
49, 49, 49, 49, 48, 47, 46, 46, 46, 45, 45, 44,
|
|
|
|
|
43, 43, 43, 42, 41, 40, 40, 40, 38, 36, 35, 34,
|
|
|
|
|
32, 30, 29, 26, 25, 21
|
|
|
|
|
50, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 49,
|
|
|
|
|
50, 50, 50, 49, 49, 48, 48, 48, 48, 47, 47, 46,
|
|
|
|
|
46, 46, 45, 44, 44, 44, 44, 43, 43, 42, 42, 40,
|
|
|
|
|
40, 39, 38, 37, 37, 37
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
@ -1254,14 +1252,13 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'Duration (ms)',
|
|
|
|
|
data: [
|
|
|
|
|
20, 14, 12, 9, 10, 11, 12, 14, 16, 19, 21, 23,
|
|
|
|
|
26, 27, 32, 32, 36, 38, 38, 44, 41, 45, 46, 47,
|
|
|
|
|
54, 52, 51, 55, 54, 55, 54, 55, 54, 55, 53, 54,
|
|
|
|
|
49, 53, 51, 56, 50, 52, 53, 51, 55, 50, 53, 53,
|
|
|
|
|
49, 53, 53, 50, 53, 53, 57, 50, 52, 49, 52, 54,
|
|
|
|
|
54, 52, 50, 53, 54, 49, 49, 47, 49, 49, 47, 45,
|
|
|
|
|
50, 47, 47, 45, 44, 44, 41, 45, 42, 41, 39, 36,
|
|
|
|
|
38, 31, 33, 32, 31, 28, 24
|
|
|
|
|
29, 30, 37, 38, 39, 44, 43, 53, 49, 53, 58, 61,
|
|
|
|
|
61, 54, 57, 62, 62, 62, 61, 62, 61, 61, 65, 59,
|
|
|
|
|
60, 66, 59, 65, 61, 62, 62, 63, 65, 63, 60, 60,
|
|
|
|
|
61, 63, 59, 60, 62, 64, 65, 60, 63, 65, 59, 64,
|
|
|
|
|
59, 60, 61, 62, 62, 58, 59, 60, 53, 60, 57, 58,
|
|
|
|
|
57, 57, 61, 53, 50, 53, 51, 56, 54, 46, 54, 50,
|
|
|
|
|
51, 48, 47, 45, 45, 50
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
@ -1275,11 +1272,11 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'User',
|
|
|
|
|
data: [
|
|
|
|
|
0.01, 0.24, 0.65, 0.68,
|
|
|
|
|
0.66, 0.69, 0.68, 0.68,
|
|
|
|
|
0.68, 0.69, 0.69, 0.71,
|
|
|
|
|
0.69, 0.68, 0.7, 0.7,
|
|
|
|
|
0.69, 0.68, 0.65
|
|
|
|
|
0.51, 0.71, 0.76, 0.7,
|
|
|
|
|
0.72, 0.72, 0.74, 0.77,
|
|
|
|
|
0.72, 0.73, 0.75, 0.74,
|
|
|
|
|
0.73, 0.78, 0.77, 0.66,
|
|
|
|
|
0.76, 0.6, 0.02
|
|
|
|
|
],
|
|
|
|
|
borderColor: '#4bc0c0',
|
|
|
|
|
backgroundColor: '#4bc0c0',
|
|
|
|
@ -1288,11 +1285,11 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'System',
|
|
|
|
|
data: [
|
|
|
|
|
0.01, 0.08, 0.23, 0.26,
|
|
|
|
|
0.25, 0.28, 0.27, 0.25,
|
|
|
|
|
0.25, 0.25, 0.25, 0.27,
|
|
|
|
|
0.28, 0.26, 0.27, 0.28,
|
|
|
|
|
0.27, 0.24, 0.24
|
|
|
|
|
0.15, 0.2, 0.2, 0.18,
|
|
|
|
|
0.19, 0.18, 0.19, 0.2,
|
|
|
|
|
0.19, 0.19, 0.19, 0.19,
|
|
|
|
|
0.19, 0.19, 0.18, 0.17,
|
|
|
|
|
0.2, 0.16, 0.01
|
|
|
|
|
],
|
|
|
|
|
borderColor: '#ff6384',
|
|
|
|
|
backgroundColor: '#ff6384',
|
|
|
|
@ -1306,11 +1303,11 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'User',
|
|
|
|
|
data: [
|
|
|
|
|
0.02, 0.03, 0.24, 0.24,
|
|
|
|
|
0.25, 0.26, 0.28, 0.28,
|
|
|
|
|
0.29, 0.28, 0.29, 0.28,
|
|
|
|
|
0.27, 0.28, 0.29, 0.28,
|
|
|
|
|
0.28, 0.27, 0.28
|
|
|
|
|
0.42, 0.47, 0.48, 0.51,
|
|
|
|
|
0.51, 0.52, 0.49, 0.52,
|
|
|
|
|
0.52, 0.52, 0.51, 0.53,
|
|
|
|
|
0.51, 0.52, 0.49, 0.5,
|
|
|
|
|
0.52, 0.12, 0.03
|
|
|
|
|
],
|
|
|
|
|
borderColor: '#4bc0c0',
|
|
|
|
|
backgroundColor: '#4bc0c0',
|
|
|
|
@ -1319,11 +1316,11 @@ vus_max........................: 50 min=50 max=50
|
|
|
|
|
{
|
|
|
|
|
label: 'System',
|
|
|
|
|
data: [
|
|
|
|
|
0.02, 0.02, 0.13, 0.16,
|
|
|
|
|
0.2, 0.23, 0.23, 0.24,
|
|
|
|
|
0.26, 0.26, 0.26, 0.23,
|
|
|
|
|
0.23, 0.25, 0.24, 0.25,
|
|
|
|
|
0.25, 0.23, 0.23
|
|
|
|
|
0.15, 0.29, 0.37, 0.44,
|
|
|
|
|
0.43, 0.46, 0.42, 0.47,
|
|
|
|
|
0.47, 0.45, 0.46, 0.46,
|
|
|
|
|
0.41, 0.46, 0.39, 0.39,
|
|
|
|
|
0.42, 0.11, 0.02
|
|
|
|
|
],
|
|
|
|
|
borderColor: '#ff6384',
|
|
|
|
|
backgroundColor: '#ff6384',
|
|
|
|
@ -2291,13 +2288,13 @@ Here are the final req/s results for each framework against PgSQL database.
|
|
|
|
|
borderColor: "#0f766e",
|
|
|
|
|
backgroundColor: "#0f766e",
|
|
|
|
|
data: [
|
|
|
|
|
205, 686, 625, 657, 643, 684, 625, 652, 606,
|
|
|
|
|
656, 610, 662, 672, 687, 647, 650, 636, 663,
|
|
|
|
|
665, 617, 600, 621, 637, 655, 628, 681, 649,
|
|
|
|
|
637, 662, 568, 669, 667, 630, 625, 630, 685,
|
|
|
|
|
654, 647, 667, 631, 618, 656, 614, 695, 650,
|
|
|
|
|
659, 629, 638, 646, 609, 642, 661, 647, 677,
|
|
|
|
|
601, 662, 665, 608, 671, 628, 632, 629, 150
|
|
|
|
|
50, 371, 331, 391, 475, 450, 464, 464, 467, 450,
|
|
|
|
|
447, 467, 467, 455, 451, 458, 463, 485, 470, 476,
|
|
|
|
|
449, 481, 485, 461, 476, 442, 455, 474, 454, 456,
|
|
|
|
|
439, 478, 472, 436, 473, 453, 463, 471, 456, 455,
|
|
|
|
|
439, 470, 456, 473, 465, 459, 468, 471, 475, 474,
|
|
|
|
|
444, 484, 469, 466, 468, 448, 477, 449, 443, 482,
|
|
|
|
|
444, 452, 432, 374, 1
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
@ -2388,15 +2385,14 @@ Here are the final req/s results for each framework against PgSQL database.
|
|
|
|
|
borderColor: "#0f766e",
|
|
|
|
|
backgroundColor: "#0f766e",
|
|
|
|
|
data: [
|
|
|
|
|
12, 155, 362, 681, 799, 914, 973, 975, 984, 928, 959,
|
|
|
|
|
964, 934, 975, 874, 924, 883, 908, 931, 888, 983, 935,
|
|
|
|
|
967, 959, 898, 942, 939, 935, 933, 904, 926, 909, 911,
|
|
|
|
|
904, 945, 929, 990, 962, 973, 896, 998, 962, 930, 983,
|
|
|
|
|
891, 1007, 944, 925, 983, 952, 938, 984, 939, 936, 872,
|
|
|
|
|
959, 996, 983, 968, 945, 909, 964, 973, 897, 921, 996,
|
|
|
|
|
953, 986, 941, 929, 942, 966, 880, 943, 901, 956, 925,
|
|
|
|
|
944, 967, 899, 935, 937, 924, 960, 899, 999, 917, 891,
|
|
|
|
|
880, 884, 538
|
|
|
|
|
734, 921, 803, 822, 870, 809, 859, 751, 834, 825,
|
|
|
|
|
786, 779, 811, 928, 869, 802, 802, 802, 832, 802,
|
|
|
|
|
798, 824, 768, 845, 825, 762, 860, 758, 812, 813,
|
|
|
|
|
808, 783, 772, 797, 831, 835, 799, 781, 844, 824,
|
|
|
|
|
787, 801, 769, 819, 799, 774, 837, 776, 837, 826,
|
|
|
|
|
821, 776, 791, 816, 838, 792, 900, 795, 815, 807,
|
|
|
|
|
781, 819, 729, 848, 861, 839, 872, 762, 796, 902,
|
|
|
|
|
790, 791, 791, 830, 815, 835, 832, 583
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|