****
结论:1. beego星最多,估计坑最少; 2.iris和echo qps最高,可以到1.5w; 3.大多数go框架qps都能到1w以上。
****
1.beego
1.1 官网: https://beego.me/ 16.1k星
1.2 安装: go get github.com/astaxie/beego
1.3 新建一个web项目,必须在go/src下执行:bee new beewebdemo,然后在beewebdemo下运行 bee run,会进行自动编译,然后启动服务,在浏览器打开localhost:8080能看到初始页面
1.4 新建一个api项目,必须在go/src下执行:bee api beewebdemo,然后在beewebdemo下运行 bee run,会进行自动编译,然后启动服务,在浏览器打开localhost:8080能看到初始页面
1.5 新建一个简单的压测项目,a.go,代码如下:
----------
package main
import (
"github.com/astaxie/beego"
)
type MainController struct {
beego.Controller
}
func (this *MainController) Get() {
this.Data["json"] = map[string]string{"ObjectId": "123"}
this.ServeJSON()
}
func main() {
beego.Router("/", &MainController{})
beego.Run()
}
----------
编译:go build -o a a.go
压测:siege -c 100 -r 1000 -b http://127.0.0.1:8080
2. Gin
2.1 官网: https://github.com/gin-gonic/gin 18k星
2.2 安装:go get -u github.com/gin-gonic/gin
2.3 简单代码压测
---------
package main
import "