我在具有 56GB RAM 的 Windows Server 2012R2 上使用 Sqlserver express 2008(64 位)。
我有一个用 c# asp.net MVC5 编写的 Web 应用程序托管在 IIS 8.5 64 位上。 此应用程序已作为 32 位应用程序托管,因为它具有其他 32 位依赖项。
数据检索恰好非常慢,即运行一个返回 5 条记录的简单查询大约需要 1.2 分钟。我已将 sql server 最小服务器内存配置为 8GB,最大配置为 28GB(如果这很重要,因为它是快速版,我认为这无关紧要)
资源监视器显示以下统计信息:
问题是完全相同的设置在具有 8GB RAM 的相同配置上工作得很好。
我有两个问题:
这可能是 SQLserver 的瓶颈吗?如果是,那么如何继续进行故障排除。
连接到 64 位 sqlserver 实例的 32 位应用程序是否存在性能问题?我应该试试 32 位实例吗?
当用户说我的应用程序/查询运行缓慢时,这是每个 SQL DBA 生活的地方。记忆很可能不是你的问题。通常这将是查询中的参数嗅探问题、表中糟糕的索引或其他一些问题。有很多方法可以对此进行故障排除,并且可以运行许多脚本来查明发生了什么。我会推荐 GITHUB 上的 Brent Ozar 工具包,并使用 SP_BlitzFirst、SP_BlitzIndex 和 sp_BlitzCache。
youtube 上有布伦特·奥扎尔急救包的大师班吗?