Devotd Github
新发现开发工具

arjaythedev/twelve-dollar-server-challenge — 12 美元服务器 API 基准测试

在每月 12 美元的服务器上用多种语言实现同一个使用 SQLite 的 API,并比较各自能处理的用户数量的挑战。

仓库信息arjaythedev/twelve-dollar-server-challenge ↗

在每月 12 美元的服务器上用多种语言实现同一个使用 SQLite 的 API,并比较各自能处理的用户数量的挑战。

GitHub 项目说明: Implement one small API on SQLite in any language; we benchmark it on a $12 server (1 vCPU, 2 GB)

星标
★ 508
复刻
255
语言
C
许可证
MIT
查看原始来源 ↗在 GitHub 查看 ↗

arjaythedev/twelve-dollar-server-challenge 是一项挑战:在配备 1 vCPU 和 2 GB 内存的每月 12 美元服务器上,用多种语言和框架实现同一个小型 API,比拼各自能处理的用户数量。参赛者需要使用 SQLite 构建 API,提交物必须通过既定测试。该仓库的主要语言是 C,并以 MIT 许可证公开。

根据 README,该项目使用各语言默认设置和未经优化的代码,对 8 种语言进行了基准测试。提交物在同一台服务器上通过 k6 负载测试进行评估,是否使用 Nginx 为可选项。分数由在 5 分钟持续区间内通过的最多用户数决定,同时适用 p95 响应时间 500 毫秒、p99 1 秒、错误率低于 1% 的条件。API 规范和数据结构被固定,禁止在请求之间缓存,写入必须在响应之前反映到数据库,以保证比较条件一致。仓库包含 42 项检查和 k6 负载测试脚本,各提交物的分数与容量测量结果以 JSON 形式留存。

不过,比较范围仅限于既定的那套 Web API。仓库也以规则和测试脚本为核心,并不是一个深入比较算法实现本身的项目。默认设置和未经优化代码所得的结果更接近于低配服务器上的参考数据,并不能说明各实现在充分调优之后的性能。