关于例如 gin 之类的使用 net/http 框架,如何通过接口响应时间预估理想下的承载量。

关于例如 gin 之类的框架,如何通过接口响应时间预估理想下的承载量。

对于 php-fpm 或者 webman 或者 java 固定线程下。如果一个接口响应时间为 100ms,如果设置了 10 个 fpm 或者 10 个 java 线程。那么理想状态下 1s 中的可以响应的数量为 1s/100ms*10 = 100 。 但是 go 的 net/http 库底层对于链接的处理是来一个请求创建一个新的 goroutinue。

这种情况下如何预估承载量。

以及有没有方式可以限制 gin 这种用 net/http 的框架的的最大 goroutinue 数量。

power by GooseForum
讨论数量: 9

负载不是这么计算的,在请求并发高的情况下进程切换,资源的抢占和释放,数据库的链接等都会影响负载,所以精准的负载还是要通过测压来确定

2年前 评论
我们只希望世界和平 (楼主) 2年前
我们只希望世界和平 (楼主) 2年前

runtime.NumGoroutinue () 返回当前存在的 goroutine 数量。每次请求来了判断下。

2年前 评论
我们只希望世界和平 (楼主) 2年前
don178 (作者) 2年前
我们只希望世界和平 (楼主) 2年前
don178 (作者) 2年前
don178 (作者) 2年前