https://github.com/the-benchmarker/web-frameworks
Which is the fastest web framework?
https://github.com/the-benchmarker/web-frameworks
benchmark framework http measurement performance standard web
Last synced: 8 months ago
JSON representation
Which is the fastest web framework?
- Host: GitHub
- URL: https://github.com/the-benchmarker/web-frameworks
- Owner: the-benchmarker
- License: mit
- Created: 2017-03-27T15:17:33.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2025-05-11T13:22:45.000Z (9 months ago)
- Last Synced: 2025-05-12T13:18:15.838Z (8 months ago)
- Topics: benchmark, framework, http, measurement, performance, standard, web
- Language: PHP
- Size: 144 MB
- Stars: 7,040
- Watchers: 149
- Forks: 697
- Open Issues: 216
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome - web-frameworks - Which is the fastest web framework? (PHP)
- awesome-list - web-frameworks - benchmarker | 5872 | (PHP)
- awesome-starts - the-benchmarker/web-frameworks - Which is the fastest web framework? (PHP)
- jimsghstars - the-benchmarker/web-frameworks - Which is the fastest web framework? (PHP)
- StarryDivineSky - the-benchmarker/web-frameworks - benchmarker/web-frameworks 是一个开源项目,旨在通过系统化基准测试比较主流 Web 框架的性能表现。该项目通过自动化脚本对多种 Web 框架(如 FastAPI、Express、Django、Spring Boot 等)进行压力测试,重点评估其在高并发场景下的响应速度、吞吐量和资源占用情况。测试环境采用统一的硬件配置和负载模型,确保结果的公平性与可比性。项目核心工作原理包括:1)构建标准化测试用例(如 API 调用、数据库操作等);2)通过工具(如 wrk、Locust)模拟数千并发请求;3)记录并分析框架的响应时间、错误率、内存占用等关键指标。测试结果以可视化图表和排行榜形式呈现,帮助开发者直观了解各框架的性能差异。项目特别关注框架在不同场景下的表现,例如静态资源处理、动态数据处理和数据库交互。此外,项目支持多语言框架测试(如 Python、Java、Node.js),并提供详细的测试报告模板。开发者可通过贡献代码或提交测试用例参与项目,所有数据均公开透明。该项目的最终目标是为 Web 开发者提供权威的性能参考,帮助其根据实际需求选择最优框架,同时推动各框架团队优化性能表现。 (后端开发框架及项目 / 后端项目_其他)
README
- `ruby`, all tools are made in `ruby`
```sh
sudo dnf install ruby
```
- `wrk`, results are collected using `wrk`
```sh
cd `mktemp -d` && git clone https://github.com/wg/wrk -b 4.2.0 . && make && sudo mv wrk /usr/bin/
```
- `postgresql`, results are stored in `postgresql`
```sh
sudo dnf install postgresql{,-server}
```
- `docker`, each implementation is implemented in an isolated **container**
- `jq`, processing `docker` metadata
- `docker-machine` if you are on `macos`
## Usage
- Setup
```
bundle install
bundle exec rake config
```
- Build
:warning: On `macos`, you need to use `docker-machine` to allow `docker` usage
for each framework :warning:
```
docker-machine rm default --force
docker-machine create default
eval $(docker-machine env default)
```
```
export FRAMEWORK=php/lumen
cd ${FRAMEWORK}
make -f .Makefile build
```
- Run
```
make -f ${FRAMEWORK}/.Makefile collect
```
:warning: You need to be on the project main directory :warning:
## Results
Please take a look at https://web-frameworks-benchmark.netlify.app/result