我如何知道它在高峰期使用了多少核心 SQL Server?

Pau*_*ski 5 sql-server

我在这里(和其他地方)看到过这个问题,但它并没有真正回答我想要回答的问题。

如何判断 SQL Server 实际使用了多少内核?

我已经知道物理上分配给 SQL Server 的内核/CPU 数量。但是,我想知道在高峰时期真正使用了多少个内核(理想情况下,我很想知道百分比、每个内核的利用率 %s 等,但我会尽我所能)。

我们想将此实例迁移到另一台机器上,如果我们可以减少分配的内核数量,这可以为我们释放一些内核许可。但是,我不想“缩小规模”只是为了发现我们的新 SQL 框倒塌了,因为它确实需要那些额外的内核。我们将进行负载测试,但更多信息。我们有围绕这个,更好。

编辑:我最终只是设置了一些仪表板软件,它可以轻松查看/打破 CPU 使用情况(可以使用 PerfMon)。

Eri*_*ing 7

但是,我想知道在高峰期,真正使用了多少个内核

这并不是您真正想要确定新服务器硬件大小的方式。您想查看服务器的等待统计信息。

如果您想免费执行此操作,请前往firstresponderkit.org并获取sp_BlitzFirst。它是由我工作的公司编写的免费工具,可帮助您找出 SQL Server 瓶颈。

有几种运行它的方法会对您有所帮助:

EXEC master.dbo.sp_BlitzFirst @SinceStartup = 1;
Run Code Online (Sandbox Code Playgroud)

自启动以来,这将为您提供一大堆服务器指标。通常,服务器运行的时间越长,这些指标就越有价值。

看看你在这里等待的前 5-10 名;结果可能会让你大吃一惊。有很多关于不同等待排队的资源的文章,所以搜索是你的朋友。

如果没有等待甚至接近服务器的正常运行时间(并且您没有清除等待统计信息),那么恭喜您,您的服务器很无聊。

您还可以运行:

EXEC master.dbo.sp_BlitzFirst @Seconds = 30, @ExpertMode = 1;

如果您想在一定时间内采集服务器指标样本。

我最近使用相同的(免费!)工具为 Google(您也可以免费下载和阅读)写了一份关于此白皮书。虽然它面向在云中调整实例大小的人,但它可以应用于任何地方的物理或虚拟服务器。

希望这可以帮助!