我正在运行 IIS 10 的 Windows Server 2019(带 SSD 驱动器)上使用 SQL Server SE 2019。在 IIS 10 之上运行 ASP.Net 应用程序,必须按原样考虑(我无法修改它) 。
最近发现 ASP.Net 应用程序可能变得有点过于啰嗦,并开始批量进行许多数据库查询(很少突发 20-30 个查询/秒)。在重负载下这可能会成为一个问题,所以我想提高系统性能。SQL Server 的安装没有任何特定配置(安装向导的默认配置)。
我想知道是否有一些已知的配置可以调整(SQL Server/IIS),它可以优化以 20-30 个查询/秒的批量发送许多小而快速的查询(每个查询大约 5 毫秒)的场景。这样我就可以改善 ASP.Net 应用程序负载较重的情况,并开始向数据库发送大量快速查询
在 SQL Server 配置方面您可能无能为力。我假设每 1000 毫秒 30*5 毫秒的工作在这方面不是问题,特别是如果查询大部分是不持有锁的读取,这会相互干扰(所以在这种情况下有些可能会并行发生) 30*5ms 是总处理时间,消耗的挂钟时间较低)。
有一些设置可以尝试控制并发连接数,但它们带有警告,例如“此选项是高级选项,只能由经验丰富的数据库管理员或经过认证的 SQL Server 专业人员更改。” 因此,不建议使用它们,除非您有非常具体的理由认为它们与您的情况相关并且不会使其他东西表现不佳或出错。
如果您可以控制应用程序,那么确保有效地使用连接池来减少建立和关闭多余连接的额外开销将是值得关注的事情,但在这种情况下您不能。
确保查询不会不必要地相互阻塞是另一个因素,但这又构成了对应用程序的控制,这超出了您的问题的范围(如果调用是对存储过程的,您可能会在不访问应用程序的情况下对其进行调整,但我不建议这样做,因为您可能会违反与应用程序提供商的支持安排)。
您对这个问题有什么分析吗?是在正常使用下记录还是通过人工负载测试记录?如果是这样,请将这些详细信息添加到问题中。