Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zhaochuninhefei/web-performance-comparison

一个web性能比较项目
https://github.com/zhaochuninhefei/web-performance-comparison

dotnet gin golang java kotlin rust springboot vertx

Last synced: 2 months ago
JSON representation

一个web性能比较项目

Awesome Lists containing this project

README

        

web-performance-comparison
=====

一个web框架性能比较项目,包括:
- go + gin + gorm
- java + springboot + mybatis
- kotlin + quarkus + hibernate
- kotlin + vertx
- dotnet
- rust

> 本项目只是个玩票性质的web性能比较,专业的还是去看techempower的测试结果:
>
> https://www.techempower.com/benchmarks

# 性能比较思路
分别使用golang、java、kotlin的流行web框架,以及dotnet与rust,开发简单的HttpAPI应用,使用JMeter比较它们的性能表现。

- 数据库统一使用MySQL8,并使用相同database的相同表。
- HttpAPI实现相同的四个API: 单表插入、全表查询(1000件)、主键查询(1000件)、以及一个没有数据库读写的简单内存数据读取API。

# 语言、框架与工具及其版本信息
语言、框架与工具及其版本信息如下:
- golang版本 : v1.17.5
- gin版本 : v1.8.1
- gorm版本 : v1.24.2
- java版本 : openJDK-17.0.3
- springboot版本 : 3.0.0
- mybatis-spring-boot-starter版本 : 3.0.1
- kotlin版本 : 1.7.21
- quarkus版本 : 2.15.1.Final
- hibernate版本 : 5.6.14.Final
- vertx版本 : 4.3.7
- JMeter版本 : 5.1.1
- dotnet版本 : 6.0.404
- rust版本 : 1.66.0

# 目录说明
```
web-performance-comparison
├── db 数据库相关资源
├── deploy docker编排文件目录
├── jmeter JMeter测试计划与结果
├── web-pm-dotnet dotnet WEB测试项目
├── web-pm-gin go+gin+gorm WEB测试项目
├── web-pm-quarkus kotlin+quarkus+hibernate WEB测试项目
├── web-pm-rust rust WEB测试项目
├── web-pm-springboot java+springboot+mybatis WEB测试项目
└── web-pm-vertx kotlin+vertx WEB测试项目
```

# 性能测试报告

具体的性能测试报告参考:

性能测试报告

# 感谢

感谢aaavieri提供了以下web项目的实现:

- `web-pm-dotnet`
- `web-pm-quarkus`
- `web-pm-rust`
- `web-pm-vertx`
- `web-pm-vertx-java`

# JetBrains support
Thanks to JetBrains for supporting open source projects.

https://jb.gg/OpenSourceSupport.