确保 Web 服务器和数据库层之间的数据库连接的开销最低的方法是什么?

确保 Web 服务器和数据库层之间的数据库连接的开销最低的方法是什么?

我们有一个 ASP .NET Web 应用程序,它严重依赖托管在单独硬件上的数据库。我们希望公开一个端点(可能只是一个简单的 .aspx 页面),外部工具/相关方可以使用它来确定 Web 应用程序是否“启动并运行”。我们将此端点称为状态监视器。

由于 Web 应用程序严重依赖数据库层,我们希望状态监视器能够确保它能够访问数据库。也就是说,状态监视器每小时可能会被访问​​多次,因此我们希望此数据库检查尽可能便宜。

我在想我们应该让状态监视器打开一个数据库连接并快速执行“选择@@version”查询,以确保数据库连接正常并正在运行。

是否有更便宜的方法和/或查询来确认 Web 服务器确实能够连接并查询数据库层?

答案1

我在想我们应该让状态监视器打开一个数据库连接并快速执行“选择@@version”查询,以确保数据库连接正常并正在运行。

这几乎是最好的方法。不仅要确认 DB 机器正在运行,还要确认数据库正在运行并且可以连接。ping(例如)或 WMI 检查不会检查最后一个。

记住.NET 池连接,所以这并不一定意味着一个全新的连接(带有身份验证等开销)。

相关内容