Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukeed/sirv
An optimized middleware & CLI application for serving static files~!
https://github.com/lukeed/sirv
Last synced: 3 days ago
JSON representation
An optimized middleware & CLI application for serving static files~!
- Host: GitHub
- URL: https://github.com/lukeed/sirv
- Owner: lukeed
- License: mit
- Created: 2018-04-14T19:45:21.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-11T15:10:19.000Z (2 months ago)
- Last Synced: 2024-10-29T11:13:35.584Z (about 1 month ago)
- Language: JavaScript
- Homepage:
- Size: 264 KB
- Stars: 1,065
- Watchers: 10
- Forks: 58
- Open Issues: 26
-
Metadata Files:
- Readme: readme.md
- Funding: .github/FUNDING.yml
- License: license
Awesome Lists containing this project
- awesome-crafted-nodejs - sirv - An optimized middleware & CLI application for serving static files~! (Packages / HTTP)
- awesome-list - sirv
- awesome-node-esm - sirv - an optimized middleware & CLI application for serving static files~! (Packages / Middleware)
README
# sirv ![CI](https://github.com/lukeed/sirv/workflows/CI/badge.svg)
> An optimized middleware & CLI application for serving static files~!
* **sirv**
[GitHub](https://github.com/lukeed/sirv/tree/master/packages/sirv) · [Package](https://www.npmjs.com/package/sirv)
_The core module, returning a middleware function for use in [Polka](https://github.com/lukeed/polka) & Express-like frameworks._* **sirv-cli**
[GitHub](https://github.com/lukeed/sirv/tree/master/packages/sirv-cli) · [Package](https://www.npmjs.com/package/sirv-cli)
_The standalone CLI application, allowing for instant previews of static sites._## Benchmarks
All results are taken with the following command:
```sh
$ wrk -t8 -c100 -d10s http://localhost:$PORT/
#=> wrk -t8 -c100 -d10s http://localhost:8080
```> **Note:** Expand each section to view results :thinking:
### Programmatic
> Running the [`/bench`](/bench) directory with Node.js v10.13.0
Compares `sirv` against `serve-static`, both of which require programmatic usage for use within existing Node servers.
GET "/" (200)
```
serve-static
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 8.15ms 2.13ms 41.84ms 93.56%
Req/Sec 1.49k 231.02 1.78k 89.50%
118927 requests in 10.03s, 35.61MB read
Requests/sec: 11862.86
Transfer/sec: 3.55MBsirv (dev: false)
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.78ms 495.92us 9.50ms 64.76%
Req/Sec 2.08k 112.73 2.42k 68.50%
166152 requests in 10.02s, 34.38MB read
Requests/sec: 16586.47
Transfer/sec: 3.43MBsirv (dev: true)
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 11.79ms 1.95ms 43.30ms 94.02%
Req/Sec 1.02k 121.86 1.33k 91.25%
81808 requests in 10.04s, 18.88MB read
Requests/sec: 8147.26
Transfer/sec: 1.88MB
```GET "/asset.js" (200)
```
serve-static
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 8.12ms 1.39ms 22.96ms 92.01%
Req/Sec 1.49k 174.69 2.06k 73.38%
118413 requests in 10.02s, 34.89MB read
Requests/sec: 11816.18
Transfer/sec: 3.48MBsirv (dev: false)
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 5.64ms 507.55us 9.45ms 68.96%
Req/Sec 2.14k 86.26 2.30k 75.50%
170225 requests in 10.02s, 34.42MB read
Requests/sec: 16996.46
Transfer/sec: 3.44MBsirv (dev: true)
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 7.21ms 445.13us 12.04ms 85.69%
Req/Sec 1.67k 52.53 1.81k 76.88%
133246 requests in 10.02s, 30.12MB read
Requests/sec: 13302.37
Transfer/sec: 3.01MB
```GET "/404.css" (404)
```
serve-static
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 3.49ms 814.94us 19.10ms 94.89%
Req/Sec 3.48k 406.87 5.59k 95.03%
278809 requests in 10.10s, 28.18MB read
Non-2xx or 3xx responses: 278809
Requests/sec: 27593.95
Transfer/sec: 2.79MBsirv (dev: false)
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 2.27ms 328.88us 11.86ms 90.68%
Req/Sec 5.32k 390.13 6.26k 93.18%
426843 requests in 10.10s, 43.15MB read
Non-2xx or 3xx responses: 426843
Requests/sec: 42256.52
Transfer/sec: 4.27MBsirv (dev: true)
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 24.06ms 1.63ms 52.42ms 97.02%
Req/Sec 500.47 29.42 640.00 71.62%
39989 requests in 10.04s, 4.04MB read
Non-2xx or 3xx responses: 39989
Requests/sec: 3982.45
Transfer/sec: 412.25KB
```### CLI
> Each command was run independently on Node 16.13.0
Compares `sirv-cli` against `http-server`, both of which are standalone CLI utilities.
GET "/" (200)
```
http-server :: Cache = YES
$ http-server tests/public
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 18.32ms 4.08ms 69.85ms 89.77%
Req/Sec 659.44 93.04 767.00 90.62%
52614 requests in 10.03s, 29.30MB read
Requests/sec: 5247.35
Transfer/sec: 2.92MBhttp-server :: Cache = NO
$ http-server tests/public -c-1
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 18.89ms 4.58ms 73.49ms 89.99%
Req/Sec 639.83 105.69 727.00 89.00%
51052 requests in 10.03s, 29.55MB read
Requests/sec: 5091.65
Transfer/sec: 2.95MBsirv-cli :: Cache = YES
$ sirv tests/public
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 8.19ms 6.18ms 106.92ms 95.99%
Req/Sec 1.59k 300.50 1.82k 89.75%
126322 requests in 10.02s, 60.72MB read
Requests/sec: 12612.53
Transfer/sec: 6.06MBsirv-cli :: Cache = NO
$ sirv tests/public --dev
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 11.32ms 1.99ms 54.04ms 94.70%
Req/Sec 1.07k 122.82 1.21k 90.00%
85069 requests in 10.02s, 42.92MB read
Requests/sec: 8490.92
Transfer/sec: 4.28MBsirv-cli :: Cache = YES :: Logs = NO
$ sirv tests/public --no-logs
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 7.05ms 1.78ms 33.87ms 94.72%
Req/Sec 1.72k 295.83 6.89k 93.38%
137539 requests in 10.11s, 66.11MB read
Requests/sec: 13609.61
Transfer/sec: 6.54MBsirv-cli :: Cache = NO :: Logs = NO
$ sirv tests/public --no-logs --dev
---
Thread Stats Avg Stdev Max +/- Stdev
Latency 9.49ms 2.10ms 44.24ms 94.50%
Req/Sec 1.28k 175.71 1.45k 87.88%
101753 requests in 10.02s, 51.33MB read
Requests/sec: 10157.38
Transfer/sec: 5.12MB
```## Notice
There is zero relationship between `sirv.com` and this module or its author.
## License
MIT © [Luke Edwards](https://lukeed.com)