v1.10
What changed
- Added
AUTH_REALMconfig option to set a custom realm for Basic Authentication (Default:None). - Added
USE_X_REAL_IPconfig option to log the real client IP from theX-Real-Ipheader when running behind a reverse proxy (Default:false). - Added a missing validation for the
errordoc_401setting.
Downloads
| File | Description |
|---|---|
nasmserver-linux-x64.zip |
Linux x86_64 self-contained bundle, no dependencies required |
nasmserver-linux-aarch64.zip |
Linux aarch64 (e.g. Raspberry Pi), runs via QEMU emulation, no dependencies required |
Updating to this version
To update to this version, update your existing binaries and configuration files.
If you have a system install of NASMServer, use the following command to update your install (it won't overwrite your configurations):
# x64
wget https://github.com/douxxtech/nasmserver/releases/download/v1.10/nasmserver-linux-x64.zip && unzip nasmserver-linux-x64.zip -d nasmserver-v1.10 && (cd nasmserver-v1.10 && sudo ./install) && rm -rf nasmserver-linux-x64.zip nasmserver-v1.10
# aarch64
wget https://github.com/douxxtech/nasmserver/releases/download/v1.10/nasmserver-linux-aarch64.zip && unzip nasmserver-linux-aarch64.zip -d nasmserver-v1.10 && (cd nasmserver-v1.10 && sudo ./install) && rm -rf nasmserver-linux-aarch64.zip nasmserver-v1.10
How it performs
Binary size
Binary ('program') size: 84K (84184 bytes)
Syscalls stats
START + GET /: 156 syscalls
Fastest: 0.000015s (clock_gettime)
Slowest: 0.994148s (accept)
Load test (1)
threads: 4 (auto), conns: 50, duration: 20s
[server]
cpu before/after: 0.0% / 74.8%
mem before/after: 1452kB / 1456kB
open fds before/after: 6 / 6
threads before/after: 1 / 1
[wrk]
Running 20s test @ http://127.0.0.1:8080/
4 threads and 50 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 4.97ms 8.79ms 214.60ms 99.50%
Req/Sec 1.65k 378.38 2.54k 70.00%
131354 requests in 20.05s, 201.18MB read
Socket errors: connect 0, read 504, write 0, timeout 0
Requests/sec: 6551.83
Transfer/sec: 10.03MB
Load test (2)
threads: 4 (auto), conns: 200, duration: 30s
[server]
cpu before/after: 74.7% / 77.6%
mem before/after: 1456kB / 1456kB
open fds before/after: 6 / 6
threads before/after: 1 / 1
[wrk]
Running 30s test @ http://127.0.0.1:8080/
4 threads and 200 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 10.90ms 70.16ms 1.67s 98.34%
Req/Sec 1.69k 1.05k 4.57k 59.70%
199039 requests in 30.10s, 304.85MB read
Socket errors: connect 0, read 617, write 0, timeout 26
Requests/sec: 6613.66
Transfer/sec: 10.13MB
Load test (3)
threads: 4 (auto), conns: 500, duration: 45s
[server]
cpu before/after: 77.6% / 78.7%
mem before/after: 1456kB / 1456kB
open fds before/after: 6 / 6
threads before/after: 1 / 1
[wrk]
Running 45s test @ http://127.0.0.1:8080/
4 threads and 500 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 10.60ms 58.88ms 1.67s 98.04%
Req/Sec 1.65k 0.94k 4.75k 68.17%
295769 requests in 45.08s, 453.00MB read
Socket errors: connect 0, read 4513, write 0, timeout 77
Requests/sec: 6560.90
Transfer/sec: 10.05MB
Commit history
- v1.10 (
e58b81e) - fixed typo on header (
03ded85) - Editing comment instead of commenting a new one on each pull on a PR (
02fa725) - Merge pull request #25 from douxxtech/auth-realm (
37ef7a7) - updated readme (
456f59c) - Using AUTH_REALM instead of the hardcoded "None" for the basic auth realm (
a31e005) - renamed clfe_qm to log_quotation_mark (
e388773) - removed dead code in logutils (
c8f8cbe) - added env parsing for AUTH_REALM (
40a9999) - updated env.example (
bac1af5) - Added a startup check for the 401 errordoc (
91d5b59) - Merge pull request #24 from douxxtech/x-real-ip (
86e6936) - Added USE_X_REAL_IP to the readme conf (
8b9bd73) - updated env.example (
0bb650c) - implemented the X-Real-Ip logging instead of the client ip (
aae6124) - Added PARSE_XRI_HEADER to parse the X-Real-Ip header (
0128952) - fixed a copy paste issue (
df80d1b) - organized bss section (
3f1e53e) - added parsing for the "USE_X_REAL_IP" config key (
53b8aea)