go-admin-team / go-admin

基于Gin + Vue + Element UI & Arco Design & Ant Design 的前后端分离权限管理系统脚手架(包含了:多租户的支持,基础用户管理功能,jwt鉴权,代码生成器,RBAC资源控制,表单构建,定时任务等)3分钟构建自己的中后台项目;项目文档》:https://www.go-admin.pro V2 Demo: https://vue2.go-admin.dev V3 Demo: https://vue3.go-admin.dev Antd 订阅版:https://antd.go-admin.pro
https://www.go-admin.pro
MIT License
11.15k stars 2.32k forks source link

项目是基于go-gin的,为什么并发只有200左右 #760

Closed jingxize closed 1 year ago

jingxize commented 1 year ago

Reproduction link

http://localhost:8000/api/v1/sys-api

Steps to reproduce

用ab 压测工具进行压测,并发100时,成功率100%,并发300开始出现错误,一起测试到并发1000,发现并发基本在200左右。但是,相同的机器上,如果测试go-gin,并发1000,成功率100%。上边的测试URL,因为没有传参,所以,在JWT认证时就会报错。也就是,这个测试URL,是不会出现因为数据库导致的瓶颈的。另外,查看了nginx访问日志,并发1000时,1000的请求都有记录。但是,最终走到go-admin对应接口的请求只有200多。

What is expected?

并发可以达到go-gin的水平

What is actually happening?

大大低于go-gin的并发水平

Environment Info
go-admin undefined
Go 1.19
System centos6
Browser chrome 114.0.5735.198
jingxize commented 1 year ago

框架中有了限流阿里的限流包工具:https://github.com/alibaba/sentinel-golang/tree/master。默认的并发配置是200.限流的配置文件为:/common/middleware/sentinel