2023-10-20 16:46:30 +00:00
|
|
|
# 0.2.0 Fifth Pre-Release
|
|
|
|
- Added true HTTP/1.1 support with persistent connections
|
|
|
|
- Added HTTP/1.0 vs HTTP/1.1 test to benchmarking suite
|
|
|
|
- Slight improvements to benchmarking
|
|
|
|
- Added version number information to binaries at build-time
|
|
|
|
- Added error page generation build step
|
|
|
|
- GitHub CI pipeline will now tag the version when publishing the container to the registry
|
|
|
|
- General system stability improvements were made to enhance the user's experience
|
|
|
|
|
|
|
|
## HTTP/1.1 Speed improvements
|
|
|
|
The following benchmark shows the speed improvements created by implementing
|
|
|
|
persistent connections with HTTP/1.1. This test measures the time it takes to
|
|
|
|
request a 222 byte file 10,000 times by one user
|
|
|
|
|
|
|
|
```
|
|
|
|
=====[ Anthracite Benchmarking Tool ]=====
|
|
|
|
Requests : 10000
|
|
|
|
Test : HTTP 1.0 vs HTTP 1.1
|
|
|
|
|
|
|
|
|
|
|
|
HTTP/1.0 Total Time: 3.1160 seconds
|
|
|
|
HTTP/1.1 Total Time: 0.3621 seconds
|
|
|
|
```
|
|
|
|
|
|
|
|
## Benchmark Results
|
|
|
|
Each benchmark makes 1000 requests requesting a 50MB file using
|
|
|
|
100 users to the webserver running in a Docker container.
|
|
|
|
|
|
|
|
This is a change from previous benchmarks which used a large html
|
|
|
|
file.
|
|
|
|
|
|
|
|
```
|
|
|
|
=====[ Anthracite Benchmarking Tool ]=====
|
|
|
|
Requests : 1000
|
|
|
|
Users/Threads: 100
|
|
|
|
Test : Load Test
|
|
|
|
|
|
|
|
|
|
|
|
====[ anthracite ]=====
|
|
|
|
Average Response Time: 19.5831 seconds
|
|
|
|
p995 Response Time : 38.9563 seconds
|
|
|
|
p99 Response Time : 37.1518 seconds
|
|
|
|
p90 Response Time : 27.5117 seconds
|
|
|
|
p75 Response Time : 21.4345 seconds
|
|
|
|
p50 Response Time : 17.7999 seconds
|
|
|
|
Total Response Time : 19583.1491 seconds
|
|
|
|
====[ nginx ]=====
|
|
|
|
Average Response Time: 19.5464 seconds
|
|
|
|
p995 Response Time : 49.9527 seconds
|
|
|
|
p99 Response Time : 47.5037 seconds
|
|
|
|
p90 Response Time : 29.7642 seconds
|
|
|
|
p75 Response Time : 21.4559 seconds
|
|
|
|
p50 Response Time : 17.1338 seconds
|
|
|
|
Total Response Time : 19546.4399 seconds
|
|
|
|
====[ apache ]=====
|
|
|
|
Average Response Time: 20.8133 seconds
|
|
|
|
p995 Response Time : 42.5797 seconds
|
|
|
|
p99 Response Time : 39.8580 seconds
|
|
|
|
p90 Response Time : 30.1892 seconds
|
|
|
|
p75 Response Time : 22.3492 seconds
|
|
|
|
p50 Response Time : 19.0437 seconds
|
|
|
|
Total Response Time : 20813.3035 seconds
|
|
|
|
==========
|
|
|
|
Total Test Time : 612.3112 seconds
|
|
|
|
```
|
|
|
|
|
2023-10-17 17:33:22 +00:00
|
|
|
# 0.1.2 Fourth Pre-Release
|
|
|
|
|
|
|
|
- Fixed bug with mapping / to index.html
|
|
|
|
- Addex Origin-Server header
|
|
|
|
|
2023-10-17 17:16:31 +00:00
|
|
|
# 0.1.1 Third Pre-Release
|
|
|
|
|
|
|
|
- Add mappings for common MIME types
|
|
|
|
- Heavily improved resource utilization
|
|
|
|
- Removed non-cached file backend
|
|
|
|
- Updated dockerfile to remove build files after build
|
|
|
|
|
|
|
|
## Known Issues
|
|
|
|
|
|
|
|
- Benchmark program does not include resource utilization
|
|
|
|
|
|
|
|
## Benchmark Results
|
|
|
|
|
|
|
|
Each benchmark makes 1000 requests requesting a 21.9Mb file using
|
|
|
|
100 users to the webserver running in a Docker container.
|
|
|
|
|
|
|
|
The results from this benchmark vary quite a bit. About half the time,
|
|
|
|
Apache can beat anthracite.
|
|
|
|
|
|
|
|
```
|
|
|
|
=====[ Anthracite Benchmarking Tool ]=====
|
|
|
|
Requests : 1000
|
|
|
|
Users/Threads: 100
|
|
|
|
|
|
|
|
|
|
|
|
====[ anthracite ]=====
|
|
|
|
Average Response Time: 5.5128 seconds
|
|
|
|
p995 Response Time : 8.3105 seconds
|
|
|
|
p99 Response Time : 8.1796 seconds
|
|
|
|
p90 Response Time : 6.4393 seconds
|
|
|
|
p75 Response Time : 5.8587 seconds
|
|
|
|
p50 Response Time : 5.4393 seconds
|
|
|
|
Total Response Time : 5512.8397 seconds
|
|
|
|
====[ nginx ]=====
|
|
|
|
Average Response Time: 6.0201 seconds
|
|
|
|
p995 Response Time : 12.4648 seconds
|
|
|
|
p99 Response Time : 11.9635 seconds
|
|
|
|
p90 Response Time : 8.7204 seconds
|
|
|
|
p75 Response Time : 6.7331 seconds
|
|
|
|
p50 Response Time : 5.5341 seconds
|
|
|
|
Total Response Time : 6020.1369 seconds
|
|
|
|
====[ apache ]=====
|
|
|
|
Average Response Time: 5.9795 seconds
|
|
|
|
p995 Response Time : 12.8266 seconds
|
|
|
|
p99 Response Time : 11.6336 seconds
|
|
|
|
p90 Response Time : 7.1465 seconds
|
|
|
|
p75 Response Time : 6.4420 seconds
|
|
|
|
p50 Response Time : 5.8224 seconds
|
|
|
|
Total Response Time : 5979.5446 seconds
|
|
|
|
==========
|
|
|
|
Total Test Time : 179.7469 seconds
|
|
|
|
```
|
|
|
|
|
2023-10-16 18:36:17 +00:00
|
|
|
# 0.1.0 Second Pre-Release
|
|
|
|
|
|
|
|
- Allowed multiple clients to be handled at once via multithreadding
|
2023-10-16 18:39:32 +00:00
|
|
|
- Enabled file caching in file_backend
|
|
|
|
- Added benchmarking utilities
|
2023-10-16 18:36:17 +00:00
|
|
|
|
|
|
|
## Known Issues
|
|
|
|
- High resource utilization
|
2023-10-16 18:39:32 +00:00
|
|
|
- Content other than HTML will still be treated as `text/html`
|
2023-10-16 18:36:17 +00:00
|
|
|
|
|
|
|
## Benchmark Results
|
|
|
|
|
|
|
|
Each benchmark makes 1000 requests requesting a 21.9Mb file using
|
|
|
|
100 users to the webserver running in a Docker container.
|
|
|
|
|
|
|
|
```
|
|
|
|
=====[ Anthracite Benchmarking Tool ]=====
|
|
|
|
Requests : 1000
|
|
|
|
Users/Threads: 100
|
|
|
|
|
|
|
|
|
|
|
|
====[ anthracite ]=====
|
|
|
|
Average Response Time: 5.9561 seconds
|
|
|
|
p995 Response Time : 65.9016 seconds
|
|
|
|
p99 Response Time : 12.3729 seconds
|
|
|
|
p90 Response Time : 7.8775 seconds
|
|
|
|
p75 Response Time : 5.9906 seconds
|
|
|
|
p50 Response Time : 5.0612 seconds
|
|
|
|
Total Response Time : 5956.0972 seconds
|
|
|
|
====[ nginx ]=====
|
|
|
|
Average Response Time: 6.0074 seconds
|
|
|
|
p995 Response Time : 12.5307 seconds
|
|
|
|
p99 Response Time : 11.9421 seconds
|
|
|
|
p90 Response Time : 8.4831 seconds
|
|
|
|
p75 Response Time : 6.6225 seconds
|
|
|
|
p50 Response Time : 5.5751 seconds
|
|
|
|
Total Response Time : 6007.4155 seconds
|
|
|
|
====[ apache ]=====
|
|
|
|
Average Response Time: 5.9028 seconds
|
|
|
|
p995 Response Time : 10.7204 seconds
|
|
|
|
p99 Response Time : 10.0042 seconds
|
|
|
|
p90 Response Time : 6.9419 seconds
|
|
|
|
p75 Response Time : 6.3974 seconds
|
|
|
|
p50 Response Time : 5.8380 seconds
|
|
|
|
Total Response Time : 5902.8490 seconds
|
|
|
|
==========
|
|
|
|
Total Test Time : 188.6373 seconds
|
|
|
|
```
|
|
|
|
|
|
|
|
# 0.0.0 First Pre-Release
|
|
|
|
- Added file based backend
|
|
|
|
- Support for text/html
|