{"id":20049532,"url":"https://github.com/weaming/fs-server","last_synced_at":"2025-10-10T21:15:18.328Z","repository":{"id":53197043,"uuid":"254571682","full_name":"weaming/fs-server","owner":"weaming","description":"Static file server using sendfile","archived":false,"fork":false,"pushed_at":"2021-04-01T10:40:13.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-13T21:46:52.116Z","etag":null,"topics":["fileserver","kernel-space","sendfile"],"latest_commit_sha":null,"homepage":"https://linux.die.net/man/2/sendfile","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weaming.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-10T07:27:49.000Z","updated_at":"2021-04-01T10:40:16.000Z","dependencies_parsed_at":"2022-09-15T01:57:18.956Z","dependency_job_id":null,"html_url":"https://github.com/weaming/fs-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/weaming/fs-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaming%2Ffs-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaming%2Ffs-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaming%2Ffs-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaming%2Ffs-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weaming","download_url":"https://codeload.github.com/weaming/fs-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weaming%2Ffs-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005413,"owners_count":26083883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fileserver","kernel-space","sendfile"],"created_at":"2024-11-13T11:50:40.679Z","updated_at":"2025-10-10T21:15:18.313Z","avatar_url":"https://github.com/weaming.png","language":"Python","readme":"# FS Server\n\nStatic file server using [sendfile](https://linux.die.net/man/2/sendfile)\n\n## Install\n\n```shell\npip3 install fs-server\n```\n\n## Usage\n\nSee example [config.json](./config.json) for quick setup.\n\n```shell\nusage: fs-server [-h] [-c CONFIG] [--host HOST] [--port PORT]\n                 [--backlog BACKLOG]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -c CONFIG, --config CONFIG\n                        file path of config in json format\n  --host HOST           listen host\n  --port PORT           listen port\n  --backlog BACKLOG     the number of unaccepted connections that the system\n                        will allow before refusing new connections\n```\n\n## Benchmark\n\n```shell\n$ ll dist/fs_server-0.1.0-py3-none-any.whl\n-rw-r--r--  1 garden  staff   4.0K Apr 10 15:31 dist/fs_server-0.1.0-py3-none-any.whl\n\n$ ab -n 10000 -c 100 http://127.0.0.1:8080/public/fs_server-0.1.0-py3-none-any.whl\nServer Hostname:        127.0.0.1\nServer Port:            8080\n\nDocument Path:          /public/fs_server-0.1.0-py3-none-any.whl\nDocument Length:        4200 bytes\n\nConcurrency Level:      100\nTime taken for tests:   17.055 seconds\nComplete requests:      10000\nFailed requests:        0\nTotal transferred:      42960000 bytes\nHTML transferred:       42000000 bytes\nRequests per second:    586.33 [#/sec] (mean)\nTime per request:       170.554 [ms] (mean)\nTime per request:       1.706 [ms] (mean, across all concurrent requests)\nTransfer rate:          2459.82 [Kbytes/sec] received\n\nConnection Times (ms)\n              min  mean[+/-sd] median   max\nConnect:        0    0   1.5      0     114\nProcessing:     5  170  80.3    139     588\nWaiting:        2  170  80.2    139     587\nTotal:          9  170  80.5    139     588\n\nPercentage of the requests served within a certain time (ms)\n  50%    139\n  66%    170\n  75%    190\n  80%    202\n  90%    269\n  95%    344\n  98%    455\n  99%    502\n 100%    588 (longest request)\n\n$ ll TCoDEVONthink3-1.1.pdf\n-rw-rw-rw-@ 1 garden  staff   5.9M Apr  3 13:47 TCoDEVONthink3-1.1.pdf\n\n$ ab -n 10000 -c 100 http://127.0.0.1:8080/TCoDEVONthink3-1.1.pdf\nServer Hostname:        127.0.0.1\nServer Port:            8080\n\nDocument Path:          /TCoDEVONthink3-1.1.pdf\nDocument Length:        572764 bytes\n\nConcurrency Level:      100\nTime taken for tests:   14.189 seconds\nComplete requests:      10000\nFailed requests:        9999\n   (Connect: 0, Receive: 0, Length: 9999, Exceptions: 0)\nTotal transferred:      6551813419 bytes\nHTML transferred:       6550913419 bytes\nRequests per second:    704.75 [#/sec] (mean)\nTime per request:       141.895 [ms] (mean)\nTime per request:       1.419 [ms] (mean, across all concurrent requests)\nTransfer rate:          450916.05 [Kbytes/sec] received\n\nConnection Times (ms)\n              min  mean[+/-sd] median   max\nConnect:        0    0   4.6      0     458\nProcessing:    10  141  48.5    130     592\nWaiting:        1  140  46.8    130     580\nTotal:         15  141  48.5    131     592\n\nPercentage of the requests served within a certain time (ms)\n  50%    131\n  66%    136\n  75%    143\n  80%    147\n  90%    163\n  95%    185\n  98%    259\n  99%    482\n 100%    592 (longest request)\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaming%2Ffs-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweaming%2Ffs-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweaming%2Ffs-server/lists"}