Skip to content

v1.6

Choose a tag to compare

@github-actions github-actions released this 20 Mar 21:08
· 188 commits to main since this release

What changed

  • Added HEAD request support: clients can now request headers only without downloading the file body
  • Responses now include a Last-Modified: header with the file's last change time
  • Responses now include Accept-Ranges: none, explicitly warning that partial/range downloads are not supported
  • 405 Method Not Allowed responses now include an Allow: header listing supported methods, as required by the HTTP spec

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.6/nasmserver-linux-x64.zip && unzip nasmserver-linux-x64.zip -d nasmserver-v1.6 && (cd nasmserver-v1.6 && sudo ./install) && rm -rf nasmserver-linux-x64.zip nasmserver-v1.6

# aarch64
wget https://github.com/douxxtech/nasmserver/releases/download/v1.6/nasmserver-linux-aarch64.zip && unzip nasmserver-linux-aarch64.zip -d nasmserver-v1.6 && (cd nasmserver-v1.6 && sudo ./install) && rm -rf nasmserver-linux-aarch64.zip nasmserver-v1.6
Benchmark results

Level 1

threads: 4 (auto), conns: 50, duration: 20s

[server]
cpu before/after:  0.0% / 83.1%
mem before/after:  1448kB / 1448kB
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.85ms   10.93ms 420.24ms   99.47%
    Req/Sec     1.77k   360.31     2.84k    67.75%
  141170 requests in 20.03s, 212.31MB read
  Socket errors: connect 0, read 124, write 0, timeout 0
Requests/sec:   7047.77
Transfer/sec:     10.60MB

Level 2

threads: 4 (auto), conns: 200, duration: 30s

[server]
cpu before/after:  83.0% / 85.7%
mem before/after:  1448kB / 1448kB
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.08ms   69.15ms   1.67s    98.67%
    Req/Sec     1.81k     1.21k    5.24k    59.56%
  211291 requests in 30.07s, 317.77MB read
  Socket errors: connect 0, read 741, write 0, timeout 33
Requests/sec:   7026.79
Transfer/sec:     10.57MB

Level 3

threads: 4 (auto), conns: 500, duration: 45s

[server]
cpu before/after:  85.7% / 86.7%
mem before/after:  1448kB / 1448kB
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    22.58ms  109.21ms   1.86s    95.40%
    Req/Sec     1.78k   844.40     5.46k    68.77%
  317281 requests in 45.06s, 477.17MB read
  Socket errors: connect 0, read 2793, write 0, timeout 87
Requests/sec:   7040.72
Transfer/sec:     10.59MB
Commit history
  • v1.6 (912f716)
  • Merge pull request #16 from douxxtech/head (0e94abb)
  • added HEAD request support (e957a67)
  • moved date_tm_buf to bss (4525a57)
  • Merge pull request #15 from douxxtech/accept-range (3002097)
  • Added accept ranges header (a0e5091)
  • Merge pull request #14 from douxxtech/last-modified (ad03c16)
  • added 'FILE_LAST_MODIFIED' macro (f30872b)
  • added Last-Modified header and reorganized the headers order (again) (d667ae3)
  • Merge pull request #13 from douxxtech/allow-header (8e37e48)
  • Added Allow: header to 405s responses (f3cc21d)
  • updated hardcoded version (v1.5) (089c092)