关于例如 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 数量。

biubiubiu
讨论数量: 9

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

1年前 评论
滚球兽进化 (楼主) 1年前
滚球兽进化 (楼主) 1年前

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

1年前 评论
滚球兽进化 (楼主) 1年前
don178 (作者) 1年前
滚球兽进化 (楼主) 1年前
don178 (作者) 1年前
don178 (作者) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!