Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
71fc44acc5 | |||
36cd9266b3 | |||
21ff0825cc | |||
c7cdd65f87 | |||
3b2adea40f | |||
8e82c90734 | |||
ea7529c443 | |||
d83d53180d | |||
511fdbce7c | |||
e2bdc520dd |
File diff suppressed because it is too large
Load Diff
@ -70,5 +70,5 @@ links = [
|
|||||||
{ email = "mailto:adrien@okami101.io" },
|
{ email = "mailto:adrien@okami101.io" },
|
||||||
{ github = "https://github.com/adr1enbe4udou1n" },
|
{ github = "https://github.com/adr1enbe4udou1n" },
|
||||||
{ linkedin = "https://linkedin.com/in/adr1enbe4udou1n" },
|
{ linkedin = "https://linkedin.com/in/adr1enbe4udou1n" },
|
||||||
{ twitter = "https://twitter.com/adr1enbe4udou1n" },
|
{ bluesky = "https://bsky.app/profile/adr1enbe4udou1n.bsky.social" },
|
||||||
]
|
]
|
||||||
|
@ -18,7 +18,7 @@ I can develop proper API design following [**DDD / Hexa**](https://en.wikipedia.
|
|||||||
I encourage `TDD` or at least proper **integration tests** on any backend frameworks, following **AAA** aka *Arrange Act Assert* principle :
|
I encourage `TDD` or at least proper **integration tests** on any backend frameworks, following **AAA** aka *Arrange Act Assert* principle :
|
||||||
|
|
||||||
* `PHPUnit` or [`Pest`](https://pestphp.com/) for *PHP*
|
* `PHPUnit` or [`Pest`](https://pestphp.com/) for *PHP*
|
||||||
* [`NUnit.net`](https://nunit.org/) or [`xUnit.net`](https://xunit.net/) with [`Fluent Assertions`](https://github.com/fluentassertions/fluentassertions) for *.NET Core*
|
* [`NUnit.net`](https://nunit.org/) or [`xUnit.net`](https://xunit.net/) for *.NET Core*
|
||||||
* `JUnit` with [`REST Assured`](https://rest-assured.io/) for *Spring Boot*
|
* `JUnit` with [`REST Assured`](https://rest-assured.io/) for *Spring Boot*
|
||||||
* `Jest` and `pytest` on respective *NodeJS* end *Python* stacks
|
* `Jest` and `pytest` on respective *NodeJS* end *Python* stacks
|
||||||
|
|
||||||
|
@ -8,7 +8,5 @@ Main packages involved :
|
|||||||
* [Fluent Validation](https://fluentvalidation.net/) for strongly typed validation
|
* [Fluent Validation](https://fluentvalidation.net/) for strongly typed validation
|
||||||
* [dotnet-format](https://github.com/dotnet/format) as official formatter
|
* [dotnet-format](https://github.com/dotnet/format) as official formatter
|
||||||
* [xUnit.net](https://xunit.net/) as framework test
|
* [xUnit.net](https://xunit.net/) as framework test
|
||||||
* [Fluent Assertions](https://fluentassertions.com/) for strongly typed assertions within the API
|
|
||||||
* [Respawn](https://github.com/jbogard/Respawn) as for optimal integration tests isolation
|
|
||||||
* [Bogus](https://github.com/bchavez/Bogus) for strongly typed fake data generator
|
* [Bogus](https://github.com/bchavez/Bogus) for strongly typed fake data generator
|
||||||
* [Bullseye](https://github.com/adamralph/bullseye) as a nice CLI publisher tool with dependency graph
|
* [Bullseye](https://github.com/adamralph/bullseye) as a nice CLI publisher tool with dependency graph
|
||||||
|
@ -9,7 +9,7 @@ We'll be comparing the read performance of 6 Web APIs frameworks, sharing the sa
|
|||||||
{{< /lead >}}
|
{{< /lead >}}
|
||||||
|
|
||||||
{{< alert >}}
|
{{< alert >}}
|
||||||
Update April 2024 for PHP: I replaced previous Apache results by new [FrankenPHP](https://frankenphp.dev/). Now PHP is back in the game, with huge performance increase thanks to worker mode.
|
Outdated post, check the [lastest]({{< ref "/posts/23-web-api-benchmarks-2025" >}}) for updated benchs.
|
||||||
{{< /alert >}}
|
{{< /alert >}}
|
||||||
|
|
||||||
This is not a basic synthetic benchmark, but a real world benchmark with DB data tests, and multiple scenarios. This post may be updated when new versions of frameworks will be released or any suggestions for performance related improvement in below commentary section.
|
This is not a basic synthetic benchmark, but a real world benchmark with DB data tests, and multiple scenarios. This post may be updated when new versions of frameworks will be released or any suggestions for performance related improvement in below commentary section.
|
||||||
|
@ -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,9 +156,9 @@ 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: 1
|
||||||
constraints:
|
constraints:
|
||||||
- node.labels.run == true
|
- node.labels.run == true
|
||||||
|
|
||||||
@ -1029,30 +1030,28 @@ Huge gap in performance against Laravel Octane here, about twice better ! Withou
|
|||||||
|
|
||||||
### FastAPI
|
### 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
|
#### FastAPI scenario 1
|
||||||
|
|
||||||
Iteration creation rate = **15/s**
|
Iteration creation rate = **15/s**
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
checks.........................: 100.00% 39678 out of 39678
|
checks.........................: 100.00% 28764 out of 28764
|
||||||
data_received..................: 321 MB 5.2 MB/s
|
data_received..................: 234 MB 3.7 MB/s
|
||||||
data_sent......................: 3.4 MB 55 kB/s
|
data_sent......................: 2.6 MB 41 kB/s
|
||||||
dropped_iterations.............: 123 1.983368/s
|
dropped_iterations.............: 336 5.300365/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=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.42µs min=0s med=0s max=6.53ms p(90)=0s p(95)=0s
|
http_req_connecting............: avg=1.66µs min=0s med=0s max=3.75ms 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=103.18ms min=6.22ms med=101.32ms max=452.09ms p(90)=139.92ms p(95)=157.15ms
|
||||||
{ 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=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 39678
|
http_req_failed................: 0.00% 0 out of 28764
|
||||||
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=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=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=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=18.91µs min=0s med=0s max=34.33ms p(90)=0s p(95)=0s
|
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=68.62ms min=6.23ms med=53.56ms max=381.34ms p(90)=142.08ms p(95)=165.56ms
|
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......................: 39678 639.805458/s
|
http_reqs......................: 28764 453.749133/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=5.28s min=1.61s med=5.38s max=6.19s p(90)=5.71s p(95)=5.79s
|
||||||
iterations.....................: 778 12.545205/s
|
iterations.....................: 564 8.897042/s
|
||||||
vus............................: 3 min=3 max=50
|
vus............................: 17 min=15 max=50
|
||||||
vus_max........................: 50 min=50 max=50
|
vus_max........................: 50 min=50 max=50
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -1064,13 +1063,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,
|
50, 371, 331, 391, 475, 450, 464, 464, 467, 450,
|
||||||
656, 610, 662, 672, 687, 647, 650, 636, 663,
|
447, 467, 467, 455, 451, 458, 463, 485, 470, 476,
|
||||||
665, 617, 600, 621, 637, 655, 628, 681, 649,
|
449, 481, 485, 461, 476, 442, 455, 474, 454, 456,
|
||||||
637, 662, 568, 669, 667, 630, 625, 630, 685,
|
439, 478, 472, 436, 473, 453, 463, 471, 456, 455,
|
||||||
654, 647, 667, 631, 618, 656, 614, 695, 650,
|
439, 470, 456, 473, 465, 459, 468, 471, 475, 474,
|
||||||
659, 629, 638, 646, 609, 642, 661, 647, 677,
|
444, 484, 469, 466, 468, 448, 477, 449, 443, 482,
|
||||||
601, 662, 665, 608, 671, 628, 632, 629, 150
|
444, 452, 432, 374, 1
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -1085,12 +1084,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,
|
15, 27, 39, 50, 50, 50, 49, 48, 48, 50, 50, 50,
|
||||||
47, 48, 47, 48, 49, 47, 49, 44, 47, 48, 48, 50,
|
48, 46, 49, 50, 48, 49, 49, 50, 50, 50, 49, 48,
|
||||||
46, 46, 45, 50, 48, 47, 45, 50, 45, 49, 45, 45,
|
47, 48, 50, 47, 48, 50, 47, 50, 50, 48, 46, 49,
|
||||||
50, 47, 48, 50, 47, 50, 46, 47, 49, 47, 50, 47,
|
50, 50, 50, 49, 48, 50, 48, 49, 50, 50, 49, 44,
|
||||||
50, 46, 49, 46, 47, 49, 48, 49, 47, 47, 48, 49,
|
49, 49, 49, 48, 50, 48, 50, 50, 47, 50, 49, 50,
|
||||||
38, 3
|
45, 37, 17
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -1101,12 +1100,13 @@ 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,
|
21, 34, 77, 93, 102, 110, 107, 104, 105, 109,
|
||||||
73, 67, 76, 74, 73, 73, 70, 80, 76, 77, 76, 74,
|
112, 106, 105, 103, 106, 107, 106, 103, 103, 102,
|
||||||
77, 65, 70, 75, 73, 84, 68, 71, 80, 74, 79, 64,
|
108, 103, 102, 107, 103, 109, 106, 106, 107, 108,
|
||||||
74, 77, 69, 77, 79, 71, 78, 67, 75, 72, 77, 76,
|
112, 103, 103, 111, 105, 107, 105, 104, 107, 107,
|
||||||
74, 78, 71, 73, 74, 70, 78, 76, 71, 75, 71, 79,
|
115, 103, 108, 103, 107, 108, 105, 102, 101, 104,
|
||||||
71, 49, 17
|
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',
|
label: 'User',
|
||||||
data: [
|
data: [
|
||||||
0.01, 0.48, 0.69, 0.7,
|
0.02, 0.02, 0.1, 0.74,
|
||||||
0.69, 0.7, 0.7, 0.69,
|
0.78, 0.77, 0.79, 0.79,
|
||||||
0.71, 0.69, 0.68, 0.69,
|
0.78, 0.78, 0.78, 0.78,
|
||||||
0.69, 0.41, 0.01, 0.02,
|
0.78, 0.77, 0.78, 0.36,
|
||||||
0.01, 0.01
|
0.02, 0.02, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#4bc0c0',
|
borderColor: '#4bc0c0',
|
||||||
backgroundColor: '#4bc0c0',
|
backgroundColor: '#4bc0c0',
|
||||||
@ -1133,11 +1133,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.01, 0.04, 0.2,
|
||||||
0.24, 0.24, 0.25, 0.25,
|
0.21, 0.21, 0.21, 0.2,
|
||||||
0.26, 0.25, 0.24, 0.24,
|
0.21, 0.21, 0.21, 0.21,
|
||||||
0.24, 0.16, 0.01, 0.02,
|
0.21, 0.22, 0.21, 0.1,
|
||||||
0.01, 0.01
|
0.02, 0.01, 0.01
|
||||||
],
|
],
|
||||||
borderColor: '#ff6384',
|
borderColor: '#ff6384',
|
||||||
backgroundColor: '#ff6384',
|
backgroundColor: '#ff6384',
|
||||||
@ -1151,11 +1151,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.02, 0.37, 0.5,
|
||||||
0.48, 0.5, 0.5, 0.49,
|
0.5, 0.49, 0.48, 0.5,
|
||||||
0.48, 0.48, 0.47, 0.49,
|
0.49, 0.5, 0.49, 0.5,
|
||||||
0.48, 0.49, 0.05, 0.02,
|
0.49, 0.5, 0.41, 0.02,
|
||||||
0.02, 0.02
|
0.03, 0.02, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#4bc0c0',
|
borderColor: '#4bc0c0',
|
||||||
backgroundColor: '#4bc0c0',
|
backgroundColor: '#4bc0c0',
|
||||||
@ -1164,11 +1164,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'System',
|
label: 'System',
|
||||||
data: [
|
data: [
|
||||||
0.02, 0.06, 0.24, 0.35,
|
0.02, 0.02, 0.33, 0.34,
|
||||||
0.28, 0.35, 0.33, 0.3,
|
0.34, 0.33, 0.32, 0.35,
|
||||||
0.28, 0.32, 0.27, 0.34,
|
0.34, 0.35, 0.36, 0.33,
|
||||||
0.29, 0.3, 0.04, 0.02,
|
0.32, 0.36, 0.33, 0.02,
|
||||||
0.02, 0.02
|
0.02, 0.02, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#ff6384',
|
borderColor: '#ff6384',
|
||||||
backgroundColor: '#ff6384',
|
backgroundColor: '#ff6384',
|
||||||
@ -1185,23 +1185,23 @@ 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.........................: 100.00% 72770 out of 72770
|
||||||
data_received..................: 164 MB 1.8 MB/s
|
data_received..................: 145 MB 1.6 MB/s
|
||||||
data_sent......................: 6.1 MB 68 kB/s
|
data_sent......................: 5.5 MB 61 kB/s
|
||||||
dropped_iterations.............: 64 0.711058/s
|
dropped_iterations.............: 66 0.733176/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=14.03µs min=198ns med=645ns max=144.52ms p(90)=1.11µs p(95)=1.27µ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=629ns min=0s med=0s max=5.17ms 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=50.94ms min=3.78ms med=38.97ms max=384.02ms p(90)=107.46ms p(95)=136.98ms
|
||||||
{ 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=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 82414
|
http_req_failed................: 0.00% 0 out of 72770
|
||||||
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=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=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=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=9.75µs min=0s med=0s max=29.89ms p(90)=0s p(95)=0s
|
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=43.16ms min=23.62µs med=23.97ms max=315.14ms p(90)=108.17ms p(95)=129.04ms
|
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......................: 82414 915.642582/s
|
http_reqs......................: 72770 808.381614/s
|
||||||
iteration_duration.............: avg=1m5s min=44.88s med=1m10s max=1m14s p(90)=1m13s p(95)=1m13s
|
iteration_duration.............: avg=1m6s min=49.42s med=1m8s max=1m19s p(90)=1m18s p(95)=1m18s
|
||||||
iterations.....................: 36 0.39997/s
|
iterations.....................: 18 0.199957/s
|
||||||
vus............................: 21 min=2 max=50
|
vus............................: 37 min=2 max=50
|
||||||
vus_max........................: 50 min=50 max=50
|
vus_max........................: 50 min=50 max=50
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -1213,15 +1213,14 @@ 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,
|
734, 921, 803, 822, 870, 809, 859, 751, 834, 825,
|
||||||
964, 934, 975, 874, 924, 883, 908, 931, 888, 983, 935,
|
786, 779, 811, 928, 869, 802, 802, 802, 832, 802,
|
||||||
967, 959, 898, 942, 939, 935, 933, 904, 926, 909, 911,
|
798, 824, 768, 845, 825, 762, 860, 758, 812, 813,
|
||||||
904, 945, 929, 990, 962, 973, 896, 998, 962, 930, 983,
|
808, 783, 772, 797, 831, 835, 799, 781, 844, 824,
|
||||||
891, 1007, 944, 925, 983, 952, 938, 984, 939, 936, 872,
|
787, 801, 769, 819, 799, 774, 837, 776, 837, 826,
|
||||||
959, 996, 983, 968, 945, 909, 964, 973, 897, 921, 996,
|
821, 776, 791, 816, 838, 792, 900, 795, 815, 807,
|
||||||
953, 986, 941, 929, 942, 966, 880, 943, 901, 956, 925,
|
781, 819, 729, 848, 861, 839, 872, 762, 796, 902,
|
||||||
944, 967, 899, 935, 937, 924, 960, 899, 999, 917, 891,
|
790, 791, 791, 830, 815, 835, 832, 583
|
||||||
880, 884, 538
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -1236,14 +1235,13 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'VUs',
|
label: 'VUs',
|
||||||
data: [
|
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,
|
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, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 49,
|
||||||
49, 49, 49, 49, 48, 47, 46, 46, 46, 45, 45, 44,
|
50, 50, 50, 49, 49, 48, 48, 48, 48, 47, 47, 46,
|
||||||
43, 43, 43, 42, 41, 40, 40, 40, 38, 36, 35, 34,
|
46, 46, 45, 44, 44, 44, 44, 43, 43, 42, 42, 40,
|
||||||
32, 30, 29, 26, 25, 21
|
40, 39, 38, 37, 37, 37
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -1254,14 +1252,13 @@ 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,
|
29, 30, 37, 38, 39, 44, 43, 53, 49, 53, 58, 61,
|
||||||
26, 27, 32, 32, 36, 38, 38, 44, 41, 45, 46, 47,
|
61, 54, 57, 62, 62, 62, 61, 62, 61, 61, 65, 59,
|
||||||
54, 52, 51, 55, 54, 55, 54, 55, 54, 55, 53, 54,
|
60, 66, 59, 65, 61, 62, 62, 63, 65, 63, 60, 60,
|
||||||
49, 53, 51, 56, 50, 52, 53, 51, 55, 50, 53, 53,
|
61, 63, 59, 60, 62, 64, 65, 60, 63, 65, 59, 64,
|
||||||
49, 53, 53, 50, 53, 53, 57, 50, 52, 49, 52, 54,
|
59, 60, 61, 62, 62, 58, 59, 60, 53, 60, 57, 58,
|
||||||
54, 52, 50, 53, 54, 49, 49, 47, 49, 49, 47, 45,
|
57, 57, 61, 53, 50, 53, 51, 56, 54, 46, 54, 50,
|
||||||
50, 47, 47, 45, 44, 44, 41, 45, 42, 41, 39, 36,
|
51, 48, 47, 45, 45, 50
|
||||||
38, 31, 33, 32, 31, 28, 24
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -1275,11 +1272,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'User',
|
label: 'User',
|
||||||
data: [
|
data: [
|
||||||
0.01, 0.24, 0.65, 0.68,
|
0.51, 0.71, 0.76, 0.7,
|
||||||
0.66, 0.69, 0.68, 0.68,
|
0.72, 0.72, 0.74, 0.77,
|
||||||
0.68, 0.69, 0.69, 0.71,
|
0.72, 0.73, 0.75, 0.74,
|
||||||
0.69, 0.68, 0.7, 0.7,
|
0.73, 0.78, 0.77, 0.66,
|
||||||
0.69, 0.68, 0.65
|
0.76, 0.6, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#4bc0c0',
|
borderColor: '#4bc0c0',
|
||||||
backgroundColor: '#4bc0c0',
|
backgroundColor: '#4bc0c0',
|
||||||
@ -1288,11 +1285,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'System',
|
label: 'System',
|
||||||
data: [
|
data: [
|
||||||
0.01, 0.08, 0.23, 0.26,
|
0.15, 0.2, 0.2, 0.18,
|
||||||
0.25, 0.28, 0.27, 0.25,
|
0.19, 0.18, 0.19, 0.2,
|
||||||
0.25, 0.25, 0.25, 0.27,
|
0.19, 0.19, 0.19, 0.19,
|
||||||
0.28, 0.26, 0.27, 0.28,
|
0.19, 0.19, 0.18, 0.17,
|
||||||
0.27, 0.24, 0.24
|
0.2, 0.16, 0.01
|
||||||
],
|
],
|
||||||
borderColor: '#ff6384',
|
borderColor: '#ff6384',
|
||||||
backgroundColor: '#ff6384',
|
backgroundColor: '#ff6384',
|
||||||
@ -1306,11 +1303,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'User',
|
label: 'User',
|
||||||
data: [
|
data: [
|
||||||
0.02, 0.03, 0.24, 0.24,
|
0.42, 0.47, 0.48, 0.51,
|
||||||
0.25, 0.26, 0.28, 0.28,
|
0.51, 0.52, 0.49, 0.52,
|
||||||
0.29, 0.28, 0.29, 0.28,
|
0.52, 0.52, 0.51, 0.53,
|
||||||
0.27, 0.28, 0.29, 0.28,
|
0.51, 0.52, 0.49, 0.5,
|
||||||
0.28, 0.27, 0.28
|
0.52, 0.12, 0.03
|
||||||
],
|
],
|
||||||
borderColor: '#4bc0c0',
|
borderColor: '#4bc0c0',
|
||||||
backgroundColor: '#4bc0c0',
|
backgroundColor: '#4bc0c0',
|
||||||
@ -1319,11 +1316,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'System',
|
label: 'System',
|
||||||
data: [
|
data: [
|
||||||
0.02, 0.02, 0.13, 0.16,
|
0.15, 0.29, 0.37, 0.44,
|
||||||
0.2, 0.23, 0.23, 0.24,
|
0.43, 0.46, 0.42, 0.47,
|
||||||
0.26, 0.26, 0.26, 0.23,
|
0.47, 0.45, 0.46, 0.46,
|
||||||
0.23, 0.25, 0.24, 0.25,
|
0.41, 0.46, 0.39, 0.39,
|
||||||
0.25, 0.23, 0.23
|
0.42, 0.11, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#ff6384',
|
borderColor: '#ff6384',
|
||||||
backgroundColor: '#ff6384',
|
backgroundColor: '#ff6384',
|
||||||
@ -1953,23 +1950,23 @@ vus_max........................: 50 min=50 max=50
|
|||||||
Iteration creation rate = **30/s**
|
Iteration creation rate = **30/s**
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
checks.........................: 100.00% 60537 out of 60537
|
checks.........................: 100.00% 81702 out of 81702
|
||||||
data_received..................: 1.4 GB 22 MB/s
|
data_received..................: 1.9 GB 31 MB/s
|
||||||
data_sent......................: 5.4 MB 88 kB/s
|
data_sent......................: 7.3 MB 120 kB/s
|
||||||
dropped_iterations.............: 614 10.010036/s
|
dropped_iterations.............: 199 3.262028/s
|
||||||
http_req_blocked...............: avg=18.21µs min=164ns med=643ns max=119.65ms p(90)=1.2µs p(95)=1.39µs
|
http_req_blocked...............: avg=12.12µs min=184ns med=633ns max=55.88ms p(90)=1.14µs p(95)=1.32µs
|
||||||
http_req_connecting............: avg=1.19µs min=0s med=0s max=7.21ms p(90)=0s p(95)=0s
|
http_req_connecting............: avg=704ns min=0s med=0s max=7.92ms p(90)=0s p(95)=0s
|
||||||
http_req_duration..............: avg=47.41ms min=3.21ms med=47.19ms max=150.24ms p(90)=64.58ms p(95)=70.42ms
|
http_req_duration..............: avg=34.17ms min=2.66ms med=33.04ms max=186.52ms p(90)=49.32ms p(95)=56.04ms
|
||||||
{ expected_response:true }...: avg=47.41ms min=3.21ms med=47.19ms max=150.24ms p(90)=64.58ms p(95)=70.42ms
|
{ expected_response:true }...: avg=34.17ms min=2.66ms med=33.04ms max=186.52ms p(90)=49.32ms p(95)=56.04ms
|
||||||
http_req_failed................: 0.00% 0 out of 60537
|
http_req_failed................: 0.00% 0 out of 81702
|
||||||
http_req_receiving.............: avg=1.27ms min=21.28µs med=577.04µs max=53.67ms p(90)=2.93ms p(95)=4.89ms
|
http_req_receiving.............: avg=1.76ms min=16.84µs med=876.33µs max=42.4ms p(90)=4.11ms p(95)=6.3ms
|
||||||
http_req_sending...............: avg=115.28µs min=14.99µs med=72.14µs max=30.87ms p(90)=151.69µs p(95)=216.28µs
|
http_req_sending...............: avg=120.32µs min=18.4µs med=75.84µs max=14.69ms p(90)=167.92µs p(95)=246.59µs
|
||||||
http_req_tls_handshaking.......: avg=14.34µs min=0s med=0s max=52.71ms p(90)=0s p(95)=0s
|
http_req_tls_handshaking.......: avg=9.86µs min=0s med=0s max=30.66ms p(90)=0s p(95)=0s
|
||||||
http_req_waiting...............: avg=46.02ms min=2.92ms med=46.04ms max=148.92ms p(90)=62.52ms p(95)=67.86ms
|
http_req_waiting...............: avg=32.28ms min=1.77ms med=31.33ms max=185.44ms p(90)=46.46ms p(95)=52.38ms
|
||||||
http_reqs......................: 60537 986.934156/s
|
http_reqs......................: 81702 1339.267336/s
|
||||||
iteration_duration.............: avg=2.48s min=1s med=2.51s max=2.79s p(90)=2.64s p(95)=2.68s
|
iteration_duration.............: avg=1.79s min=655.17ms med=1.81s max=2.11s p(90)=1.93s p(95)=1.96s
|
||||||
iterations.....................: 1187 19.35165/s
|
iterations.....................: 1602 26.260144/s
|
||||||
vus............................: 24 min=24 max=50
|
vus............................: 1 min=1 max=50
|
||||||
vus_max........................: 50 min=50 max=50
|
vus_max........................: 50 min=50 max=50
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -1981,14 +1978,15 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'Req/s',
|
label: 'Req/s',
|
||||||
data: [
|
data: [
|
||||||
500, 987, 969, 985, 980, 1036, 987, 1003,
|
31, 1147, 1280, 1276, 1368, 1314, 1416,
|
||||||
980, 965, 1017, 988, 1013, 948, 961, 1024,
|
1396, 1246, 1394, 1362, 1398, 1406, 1312,
|
||||||
989, 1018, 996, 981, 1016, 993, 981, 987,
|
1389, 1317, 1305, 1349, 1287, 1352, 1345,
|
||||||
964, 1020, 985, 1018, 997, 972, 1010, 994,
|
1361, 1368, 1293, 1371, 1344, 1364, 1370,
|
||||||
998, 1001, 970, 1028, 1021, 1000, 1013, 975,
|
1311, 1324, 1312, 1373, 1343, 1326, 1374,
|
||||||
1013, 965, 993, 972, 960, 1029, 975, 1005,
|
1325, 1397, 1376, 1328, 1391, 1323, 1386,
|
||||||
998, 962, 1024, 991, 1001, 981, 962, 1015,
|
1368, 1318, 1390, 1328, 1404, 1350, 1291,
|
||||||
985, 993, 1001, 968, 1008, 466
|
1387, 1328, 1380, 1378, 1307, 1360, 1297,
|
||||||
|
1396, 1367, 1309, 1377, 1302, 1015
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -2003,12 +2001,12 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'VUs',
|
label: 'VUs',
|
||||||
data: [
|
data: [
|
||||||
30, 46, 50, 50, 50, 50, 49, 50, 50, 49, 49, 46,
|
22, 32, 40, 46, 46, 50, 47, 48, 48, 47, 48, 45,
|
||||||
50, 50, 47, 50, 49, 50, 49, 48, 50, 49, 50, 50,
|
48, 49, 47, 49, 47, 49, 49, 47, 50, 50, 49, 47,
|
||||||
48, 50, 49, 49, 48, 50, 50, 48, 50, 50, 49, 49,
|
48, 49, 48, 48, 50, 46, 49, 48, 49, 48, 47, 48,
|
||||||
49, 49, 49, 50, 49, 50, 50, 50, 48, 47, 50, 50,
|
47, 49, 47, 50, 47, 49, 50, 47, 48, 48, 48, 48,
|
||||||
50, 48, 49, 50, 49, 50, 49, 50, 50, 49, 50, 50,
|
47, 48, 50, 48, 49, 47, 48, 47, 48, 50, 46, 47,
|
||||||
24
|
1
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -2019,12 +2017,12 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'Duration (ms)',
|
label: 'Duration (ms)',
|
||||||
data: [
|
data: [
|
||||||
16, 31, 49, 49, 48, 47, 48, 48, 50, 48, 47, 49,
|
16, 15, 22, 29, 34, 35, 33, 34, 38, 34, 34, 34,
|
||||||
47, 51, 50, 47, 48, 48, 48, 49, 47, 49, 49, 49,
|
33, 36, 34, 34, 37, 35, 37, 35, 35, 35, 34, 37,
|
||||||
49, 47, 48, 48, 48, 49, 46, 49, 48, 47, 50, 46,
|
34, 34, 35, 35, 36, 35, 36, 35, 35, 37, 34, 35,
|
||||||
47, 48, 48, 49, 47, 49, 48, 49, 51, 47, 48, 48,
|
34, 35, 36, 34, 35, 35, 33, 37, 33, 35, 34, 35,
|
||||||
47, 50, 48, 48, 48, 49, 50, 47, 49, 48, 48, 49,
|
37, 34, 35, 35, 33, 37, 35, 36, 34, 34, 36, 34,
|
||||||
42, 22
|
36, 21
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -2038,11 +2036,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'User',
|
label: 'User',
|
||||||
data: [
|
data: [
|
||||||
0.02, 0.1, 0.6, 0.58,
|
0.02, 0.02, 0.6, 0.66,
|
||||||
0.58, 0.58, 0.57, 0.58,
|
0.66, 0.63, 0.64, 0.63,
|
||||||
0.6, 0.58, 0.57, 0.58,
|
0.65, 0.64, 0.64, 0.64,
|
||||||
0.57, 0.57, 0.04, 0.01,
|
0.65, 0.64, 0.17, 0.02,
|
||||||
0.02, 0.02
|
0.01, 0.02, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#4bc0c0',
|
borderColor: '#4bc0c0',
|
||||||
backgroundColor: '#4bc0c0',
|
backgroundColor: '#4bc0c0',
|
||||||
@ -2051,11 +2049,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'System',
|
label: 'System',
|
||||||
data: [
|
data: [
|
||||||
0.01, 0.05, 0.25, 0.24,
|
0.02, 0.01, 0.27, 0.29,
|
||||||
0.23, 0.24, 0.25, 0.24,
|
0.29, 0.28, 0.28, 0.29,
|
||||||
0.24, 0.24, 0.24, 0.24,
|
0.28, 0.28, 0.28, 0.29,
|
||||||
0.25, 0.24, 0.03, 0.01,
|
0.28, 0.28, 0.08, 0.01,
|
||||||
0.02, 0.02
|
0.01, 0.01, 0.01
|
||||||
],
|
],
|
||||||
borderColor: '#ff6384',
|
borderColor: '#ff6384',
|
||||||
backgroundColor: '#ff6384',
|
backgroundColor: '#ff6384',
|
||||||
@ -2069,11 +2067,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'User',
|
label: 'User',
|
||||||
data: [
|
data: [
|
||||||
0.01, 0.02, 0.5, 0.77,
|
0.02, 0.02, 0.58, 0.71,
|
||||||
0.76, 0.76, 0.76, 0.76,
|
0.73, 0.74, 0.73, 0.74,
|
||||||
0.77, 0.77, 0.75, 0.76,
|
0.73, 0.75, 0.74, 0.74,
|
||||||
0.76, 0.77, 0.42, 0.02,
|
0.74, 0.74, 0.24, 0.02,
|
||||||
0.02, 0.02, 0.02
|
0.01, 0.02, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#4bc0c0',
|
borderColor: '#4bc0c0',
|
||||||
backgroundColor: '#4bc0c0',
|
backgroundColor: '#4bc0c0',
|
||||||
@ -2082,11 +2080,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'System',
|
label: 'System',
|
||||||
data: [
|
data: [
|
||||||
0.02, 0.02, 0.17, 0.23,
|
0.02, 0.02, 0.19, 0.24,
|
||||||
0.23, 0.24, 0.24, 0.23,
|
0.23, 0.22, 0.23, 0.23,
|
||||||
0.23, 0.23, 0.23, 0.23,
|
0.23, 0.22, 0.23, 0.22,
|
||||||
0.23, 0.23, 0.14, 0.02,
|
0.22, 0.22, 0.08, 0.01,
|
||||||
0.02, 0.02, 0.02
|
0.02, 0.02, 0.01
|
||||||
],
|
],
|
||||||
borderColor: '#ff6384',
|
borderColor: '#ff6384',
|
||||||
backgroundColor: '#ff6384',
|
backgroundColor: '#ff6384',
|
||||||
@ -2103,23 +2101,23 @@ vus_max........................: 50 min=50 max=50
|
|||||||
Iteration creation rate = **10/s**
|
Iteration creation rate = **10/s**
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
checks.........................: 100.00% 155200 out of 155200
|
checks.........................: 100.00% 169168 out of 169168
|
||||||
data_received..................: 930 MB 14 MB/s
|
data_received..................: 1.0 GB 14 MB/s
|
||||||
data_sent......................: 14 MB 206 kB/s
|
data_sent......................: 15 MB 213 kB/s
|
||||||
dropped_iterations.............: 500 7.429243/s
|
dropped_iterations.............: 492 6.923966/s
|
||||||
http_req_blocked...............: avg=7.19µs min=170ns med=579ns max=70.57ms p(90)=1.14µs p(95)=1.32µs
|
http_req_blocked...............: avg=6.5µs min=201ns med=682ns max=49.52ms p(90)=1.15µs p(95)=1.32µs
|
||||||
http_req_connecting............: avg=367ns min=0s med=0s max=4.55ms p(90)=0s p(95)=0s
|
http_req_connecting............: avg=296ns min=0s med=0s max=3.92ms p(90)=0s p(95)=0s
|
||||||
http_req_duration..............: avg=20.06ms min=1.85ms med=17.93ms max=227.21ms p(90)=35.09ms p(95)=41.47ms
|
http_req_duration..............: avg=18.09ms min=1.68ms med=16.09ms max=138.4ms p(90)=32.62ms p(95)=38.84ms
|
||||||
{ expected_response:true }...: avg=20.06ms min=1.85ms med=17.93ms max=227.21ms p(90)=35.09ms p(95)=41.47ms
|
{ expected_response:true }...: avg=18.09ms min=1.68ms med=16.09ms max=138.4ms p(90)=32.62ms p(95)=38.84ms
|
||||||
http_req_failed................: 0.00% 0 out of 155200
|
http_req_failed................: 0.00% 0 out of 169168
|
||||||
http_req_receiving.............: avg=1.3ms min=16.13µs med=566.94µs max=41.66ms p(90)=3.1ms p(95)=5.12ms
|
http_req_receiving.............: avg=1.11ms min=16.62µs med=543.46µs max=35.08ms p(90)=2.62ms p(95)=4.16ms
|
||||||
http_req_sending...............: avg=94.15µs min=11.56µs med=62.76µs max=35.14ms p(90)=130.16µs p(95)=171.55µs
|
http_req_sending...............: avg=99.48µs min=11.38µs med=75.49µs max=15.01ms p(90)=149.69µs p(95)=200.71µs
|
||||||
http_req_tls_handshaking.......: avg=5.61µs min=0s med=0s max=52.65ms p(90)=0s p(95)=0s
|
http_req_tls_handshaking.......: avg=5.01µs min=0s med=0s max=25.8ms p(90)=0s p(95)=0s
|
||||||
http_req_waiting...............: avg=18.66ms min=0s med=16.5ms max=226.18ms p(90)=33.14ms p(95)=39.31ms
|
http_req_waiting...............: avg=16.88ms min=0s med=14.83ms max=136.41ms p(90)=30.95ms p(95)=37.04ms
|
||||||
http_reqs......................: 155200 2306.036927/s
|
http_reqs......................: 169168 2380.718287/s
|
||||||
iteration_duration.............: avg=31.5s min=28.79s med=31.76s max=33.25s p(90)=32.83s p(95)=32.95s
|
iteration_duration.............: avg=28.45s min=11.15s med=30.18s max=31.36s p(90)=31.06s p(95)=31.12s
|
||||||
iterations.....................: 100 1.485849/s
|
iterations.....................: 109 1.533968/s
|
||||||
vus............................: 12 min=10 max=50
|
vus............................: 1 min=1 max=50
|
||||||
vus_max........................: 50 min=50 max=50
|
vus_max........................: 50 min=50 max=50
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -2131,15 +2129,15 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'Req/s',
|
label: 'Req/s',
|
||||||
data: [
|
data: [
|
||||||
180, 1475, 1881, 1960, 1863, 2200, 2252, 2434,
|
13, 1111, 1992, 2356, 2484, 2319, 2500, 2480,
|
||||||
2455, 2328, 2416, 2404, 2395, 2326, 2170, 2357,
|
2551, 2589, 2489, 2593, 2499, 2624, 2531, 2438,
|
||||||
2314, 2513, 2381, 2355, 2438, 2318, 2496, 2455,
|
2553, 2400, 2585, 2524, 2341, 2473, 2479, 2630,
|
||||||
2375, 2358, 2309, 2498, 2439, 2409, 2293, 2370,
|
2549, 2467, 2519, 2482, 2583, 2572, 2393, 2439,
|
||||||
2363, 2383, 2290, 2339, 2316, 2460, 2386, 2413,
|
2488, 2566, 2547, 2415, 2498, 2457, 2574, 2531,
|
||||||
2263, 2320, 2508, 2199, 2323, 2374, 2273, 2441,
|
2472, 2537, 2494, 2514, 2584, 2425, 2493, 2421,
|
||||||
2319, 2344, 2328, 2328, 2507, 2430, 2307, 2431,
|
2564, 2558, 2320, 2435, 2471, 2537, 2592, 2446,
|
||||||
2291, 2380, 2494, 2388, 2265, 2362, 2418, 2456,
|
2566, 2471, 2597, 2565, 2379, 2464, 2391, 2533,
|
||||||
2245, 2323, 2199, 1317
|
2415, 1875, 1710, 1707, 1773, 1749, 1688, 788
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -2156,10 +2154,10 @@ vus_max........................: 50 min=50 max=50
|
|||||||
data: [
|
data: [
|
||||||
10, 20, 30, 40, 50, 50, 50, 50, 50, 50, 50, 50,
|
10, 20, 30, 40, 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, 50, 48,
|
50, 50, 50, 50, 50, 48, 49, 49, 50, 49, 49, 50,
|
||||||
47, 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, 44, 40, 34, 27, 12
|
50, 50, 50, 50, 50, 50, 50, 50, 50, 49, 49, 50,
|
||||||
|
46, 40, 35, 27, 9, 9, 9, 9, 9, 9, 1
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -2170,12 +2168,12 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'Duration (ms)',
|
label: 'Duration (ms)',
|
||||||
data: [
|
data: [
|
||||||
8, 7, 11, 15, 21, 22, 22, 20, 20, 21, 20, 21,
|
32, 7, 9, 12, 15, 20, 20, 20, 20, 19, 20, 19,
|
||||||
20, 21, 23, 21, 21, 20, 21, 21, 20, 21, 20, 20,
|
19, 19, 19, 20, 19, 20, 19, 20, 21, 20, 20, 19,
|
||||||
21, 21, 21, 20, 20, 21, 21, 21, 21, 20, 21, 21,
|
19, 20, 20, 20, 19, 19, 21, 20, 20, 19, 19, 20,
|
||||||
21, 19, 21, 20, 22, 21, 20, 22, 21, 21, 22, 20,
|
19, 20, 19, 20, 20, 20, 20, 20, 19, 20, 20, 20,
|
||||||
21, 21, 21, 21, 20, 20, 21, 20, 22, 21, 20, 21,
|
19, 19, 21, 20, 20, 20, 19, 20, 19, 20, 19, 19,
|
||||||
22, 21, 20, 18, 17, 14, 12, 7
|
21, 19, 17, 14, 12, 6, 5, 5, 5, 5, 5, 5
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -2189,11 +2187,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'User',
|
label: 'User',
|
||||||
data: [
|
data: [
|
||||||
0.01, 0.04, 0.49, 0.59,
|
0.02, 0.02, 0.2, 0.6,
|
||||||
0.58, 0.6, 0.6, 0.59,
|
0.6, 0.59, 0.59, 0.6,
|
||||||
0.58, 0.59, 0.59, 0.59,
|
0.59, 0.6, 0.59, 0.6,
|
||||||
0.61, 0.58, 0.6, 0.17,
|
0.59, 0.58, 0.59, 0.53,
|
||||||
0.02, 0.01, 0.01
|
0.4, 0.02, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#4bc0c0',
|
borderColor: '#4bc0c0',
|
||||||
backgroundColor: '#4bc0c0',
|
backgroundColor: '#4bc0c0',
|
||||||
@ -2202,11 +2200,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'System',
|
label: 'System',
|
||||||
data: [
|
data: [
|
||||||
0.01, 0.03, 0.31, 0.35,
|
0.02, 0.01, 0.11, 0.38,
|
||||||
0.36, 0.37, 0.35, 0.35,
|
0.38, 0.38, 0.38, 0.37,
|
||||||
0.37, 0.37, 0.37, 0.37,
|
0.39, 0.38, 0.38, 0.38,
|
||||||
0.37, 0.37, 0.37, 0.12,
|
0.38, 0.4, 0.39, 0.4,
|
||||||
0.01, 0.01, 0.01
|
0.3, 0.01, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#ff6384',
|
borderColor: '#ff6384',
|
||||||
backgroundColor: '#ff6384',
|
backgroundColor: '#ff6384',
|
||||||
@ -2220,11 +2218,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'User',
|
label: 'User',
|
||||||
data: [
|
data: [
|
||||||
0.02, 0.02, 0.23, 0.46,
|
0.02, 0.01, 0.09, 0.38,
|
||||||
0.49, 0.48, 0.51, 0.5,
|
0.4, 0.4, 0.4, 0.4,
|
||||||
0.49, 0.48, 0.49, 0.48,
|
0.4, 0.4, 0.4, 0.4,
|
||||||
0.49, 0.51, 0.5, 0.36,
|
0.41, 0.41, 0.41, 0.35,
|
||||||
0.02, 0.02, 0.02
|
0.25, 0.01, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#4bc0c0',
|
borderColor: '#4bc0c0',
|
||||||
backgroundColor: '#4bc0c0',
|
backgroundColor: '#4bc0c0',
|
||||||
@ -2233,11 +2231,11 @@ vus_max........................: 50 min=50 max=50
|
|||||||
{
|
{
|
||||||
label: 'System',
|
label: 'System',
|
||||||
data: [
|
data: [
|
||||||
0.02, 0.01, 0.17, 0.33,
|
0.02, 0.02, 0.07, 0.27,
|
||||||
0.35, 0.36, 0.36, 0.35,
|
0.29, 0.3, 0.29, 0.3,
|
||||||
0.34, 0.36, 0.35, 0.36,
|
0.29, 0.3, 0.28, 0.28,
|
||||||
0.36, 0.34, 0.35, 0.26,
|
0.29, 0.29, 0.29, 0.26,
|
||||||
0.02, 0.02, 0.02
|
0.19, 0.02, 0.02
|
||||||
],
|
],
|
||||||
borderColor: '#ff6384',
|
borderColor: '#ff6384',
|
||||||
backgroundColor: '#ff6384',
|
backgroundColor: '#ff6384',
|
||||||
@ -2290,13 +2288,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,
|
50, 371, 331, 391, 475, 450, 464, 464, 467, 450,
|
||||||
656, 610, 662, 672, 687, 647, 650, 636, 663,
|
447, 467, 467, 455, 451, 458, 463, 485, 470, 476,
|
||||||
665, 617, 600, 621, 637, 655, 628, 681, 649,
|
449, 481, 485, 461, 476, 442, 455, 474, 454, 456,
|
||||||
637, 662, 568, 669, 667, 630, 625, 630, 685,
|
439, 478, 472, 436, 473, 453, 463, 471, 456, 455,
|
||||||
654, 647, 667, 631, 618, 656, 614, 695, 650,
|
439, 470, 456, 473, 465, 459, 468, 471, 475, 474,
|
||||||
659, 629, 638, 646, 609, 642, 661, 647, 677,
|
444, 484, 469, 466, 468, 448, 477, 449, 443, 482,
|
||||||
601, 662, 665, 608, 671, 628, 632, 629, 150
|
444, 452, 432, 374, 1
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -2334,14 +2332,15 @@ Here are the final req/s results for each framework against PgSQL database.
|
|||||||
borderColor: "#6d28d9",
|
borderColor: "#6d28d9",
|
||||||
backgroundColor: "#6d28d9",
|
backgroundColor: "#6d28d9",
|
||||||
data: [
|
data: [
|
||||||
500, 987, 969, 985, 980, 1036, 987, 1003,
|
31, 1147, 1280, 1276, 1368, 1314, 1416,
|
||||||
980, 965, 1017, 988, 1013, 948, 961, 1024,
|
1396, 1246, 1394, 1362, 1398, 1406, 1312,
|
||||||
989, 1018, 996, 981, 1016, 993, 981, 987,
|
1389, 1317, 1305, 1349, 1287, 1352, 1345,
|
||||||
964, 1020, 985, 1018, 997, 972, 1010, 994,
|
1361, 1368, 1293, 1371, 1344, 1364, 1370,
|
||||||
998, 1001, 970, 1028, 1021, 1000, 1013, 975,
|
1311, 1324, 1312, 1373, 1343, 1326, 1374,
|
||||||
1013, 965, 993, 972, 960, 1029, 975, 1005,
|
1325, 1397, 1376, 1328, 1391, 1323, 1386,
|
||||||
998, 962, 1024, 991, 1001, 981, 962, 1015,
|
1368, 1318, 1390, 1328, 1404, 1350, 1291,
|
||||||
985, 993, 1001, 968, 1008, 466
|
1387, 1328, 1380, 1378, 1307, 1360, 1297,
|
||||||
|
1396, 1367, 1309, 1377, 1302, 1015
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
@ -2386,15 +2385,14 @@ 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,
|
734, 921, 803, 822, 870, 809, 859, 751, 834, 825,
|
||||||
964, 934, 975, 874, 924, 883, 908, 931, 888, 983, 935,
|
786, 779, 811, 928, 869, 802, 802, 802, 832, 802,
|
||||||
967, 959, 898, 942, 939, 935, 933, 904, 926, 909, 911,
|
798, 824, 768, 845, 825, 762, 860, 758, 812, 813,
|
||||||
904, 945, 929, 990, 962, 973, 896, 998, 962, 930, 983,
|
808, 783, 772, 797, 831, 835, 799, 781, 844, 824,
|
||||||
891, 1007, 944, 925, 983, 952, 938, 984, 939, 936, 872,
|
787, 801, 769, 819, 799, 774, 837, 776, 837, 826,
|
||||||
959, 996, 983, 968, 945, 909, 964, 973, 897, 921, 996,
|
821, 776, 791, 816, 838, 792, 900, 795, 815, 807,
|
||||||
953, 986, 941, 929, 942, 966, 880, 943, 901, 956, 925,
|
781, 819, 729, 848, 861, 839, 872, 762, 796, 902,
|
||||||
944, 967, 899, 935, 937, 924, 960, 899, 999, 917, 891,
|
790, 791, 791, 830, 815, 835, 832, 583
|
||||||
880, 884, 538
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -70,11 +70,8 @@
|
|||||||
title: Vuetify Admin
|
title: Vuetify Admin
|
||||||
date: 11/2020
|
date: 11/2020
|
||||||
repo: okami101/vuetify-admin
|
repo: okami101/vuetify-admin
|
||||||
demo: https://va-demo.okami101.io/
|
|
||||||
docs: https://www.okami101.io/vuetify-admin
|
|
||||||
|
|
||||||
- name: laravel-rad-stack
|
- name: laravel-rad-stack
|
||||||
title: Laravel RAD Stack
|
title: Laravel RAD Stack
|
||||||
date: 10/2021
|
date: 10/2021
|
||||||
repo: adr1enbe4udou1n/laravel-rad-stack
|
repo: adr1enbe4udou1n/laravel-rad-stack
|
||||||
demo: https://laravel-rad-stack.okami101.io/
|
|
||||||
|
@ -74,8 +74,8 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
<img src="/kube.png" width="30" height="30" alt="Kubernetes"
|
<img src="/talos-logo.svg" width="30" height="30" alt="Talos Linux"
|
||||||
title="Run on K3s over Hetzner Cloud" />
|
title="Run on Talos Linux over Hetzner Cloud" />
|
||||||
</div>
|
</div>
|
||||||
<div class="hidden lg:block">
|
<div class="hidden lg:block">
|
||||||
{{/* Copyright */}}
|
{{/* Copyright */}}
|
||||||
|
BIN
static/kube.png
BIN
static/kube.png
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
3
static/talos-logo.svg
Normal file
3
static/talos-logo.svg
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 203.74 226.05"><defs><style>.cls-1{fill:url(#linear-gradient);}.cls-2{fill:url(#linear-gradient-2);}.cls-3{fill:url(#linear-gradient-3);}.cls-4{fill:url(#linear-gradient-4);}.cls-5{fill:url(#linear-gradient-5);}</style><linearGradient id="linear-gradient" x1="101.85" y1="-15.19" x2="101.85" y2="237.81" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffd200"/><stop offset="0.06" stop-color="#ffb500"/><stop offset="0.14" stop-color="#ff8c00"/><stop offset="0.21" stop-color="#ff7300"/><stop offset="0.26" stop-color="#ff6a00"/><stop offset="0.33" stop-color="#fc4f0e"/><stop offset="0.43" stop-color="#f92f1e"/><stop offset="0.51" stop-color="#f81b27"/><stop offset="0.57" stop-color="#f7142b"/><stop offset="0.68" stop-color="#df162e"/><stop offset="0.79" stop-color="#af1a38"/><stop offset="1" stop-color="#4b214c"/></linearGradient><linearGradient id="linear-gradient-2" x1="24.84" y1="-15.19" x2="24.84" y2="237.81" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-3" x1="178.9" y1="-15.19" x2="178.9" y2="237.81" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-4" x1="145.06" y1="-15.19" x2="145.06" y2="237.81" xlink:href="#linear-gradient"/><linearGradient id="linear-gradient-5" x1="58.64" y1="-15.19" x2="58.64" y2="237.81" xlink:href="#linear-gradient"/></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M101.89,226.05c2.85,0,5.67-.15,8.46-.35V.35c-2.8-.21-5.62-.35-8.48-.35s-5.7.14-8.52.35V225.69c2.81.21,5.64.35,8.5.36Z"/><path class="cls-2" d="M11.56,50.9,9.12,48.47A112.82,112.82,0,0,0,.2,63.61c29.42,29.89,32.52,44.31,32.48,49.14C32.57,125,17.58,144.21,0,162a113.69,113.69,0,0,0,8.84,15.15c1-1,1.95-1.92,2.92-2.9,25.37-25.54,37.77-45.61,37.92-61.38S37.36,77,11.56,50.9Z"/><path class="cls-3" d="M192,174.29l2.92,2.9A113.69,113.69,0,0,0,203.74,162c-17.57-17.83-32.56-37.09-32.68-49.29-.11-11.9,14.79-31.15,32.46-49.18a112.88,112.88,0,0,0-8.9-15.1l-2.44,2.43c-25.8,26.05-38.27,46.34-38.12,62S166.61,148.75,192,174.29Z"/><path class="cls-4" d="M140.68,112.83c0-22,9.81-58.58,24.92-93.15A113,113,0,0,0,150.45,11c-16.54,37.27-26.78,76.91-26.78,101.87,0,24.15,11.09,64.23,27.93,101.7a113,113,0,0,0,14.84-8.77C150.85,170.73,140.68,134.07,140.68,112.83Z"/><path class="cls-5" d="M80,112.83C80,87.74,69.35,47.88,53,11.07a112.76,112.76,0,0,0-14.93,8.64C53.21,54.26,63,90.85,63,112.83c0,21.23-10.17,57.88-25.76,92.91a113.66,113.66,0,0,0,14.84,8.77C68.94,177.05,80,137,80,112.83Z"/></g></g></svg>
|
After Width: | Height: | Size: 2.7 KiB |
Submodule themes/congo updated: 475798497c...9dbf87b450
Reference in New Issue
Block a user