我是asp.net核心的新手 我正在编写一个Web API服务,该服务将传递的数据存储到数据库中。从理论上讲,将来每秒大约有300-400个服务器请求,响应时间必须少于10秒
但是首先我尝试用蝗虫进行一些负载测试。 我用一个控制器和一个后方法编写了一个简单的应用程序,该方法无需任何处理即可简单地返回Ok()。
我尝试为1000个用户创建此服务的负载。我的服务在具有.net core 2.1(2 Xeon 8175M和8 GB RAM)的ubuntu 16.04下运行。蝗虫从专用计算机运行
但是我只看到〜400 RPS,响应时间约为1400毫秒。对于空动作,它具有很大的价值。 我关闭了所有日志记录,以生产模式运行,但没有运气-仍然约400 rps。 在系统监视器(我使用nmon)中,我看到两个CPU的负载仅占12-15%(总计24-30%)。我有大约3 GB的可用内存,没有网络使用情况(大约200-300 KB / s),没有磁盘使用情况,因此系统具有用于处理请求的硬件资源。 所以我认为某些配置存在问题,或者可能与套接字,句柄等系统资源有关
我也尝试使用libuv而不是托管套接字,但是结果是一样的 在红est配置中,我将Limit.MaxConnection和MaxUpgradedConnection显式设置为null(但这是默认值)
所以,我有两个问题: -从理论上说,茶est能提供较高的rps吗? -如果先是真的,您能给我一些起点的建议吗(链接,文章等)