标签: cpu

我们生产 SQL Server 上的主要性能问题,我将如何解决这个问题?

这个问题基本上是这个问题的后续问题:
SQL Server 2016 的奇怪的性能问题

我们现在使用这个系统提高了效率。虽然自从我上一篇文章以来,另一个应用程序数据库被添加到这个 SQL Server 中。

这些是系统统计信息:

  • 128 GB RAM(SQL Server 的最大内存为 110 GB)
  • 4 核 @2.6 GHz
  • 10 GBit 网络连接
  • 所有存储均基于 SSD
  • 程序文件、日志文件、数据库文件和 tempdb 位于服务器的不同分区上
  • 视窗服务器 2012 R2
  • VMware 版本 HPE-ESXi-6.0.0-Update3-iso-600.9.7.0.17
  • VMware Tools 版本 10.0.9,内部版本 3917699
  • Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64) 2016 年 10 月 28 日 18:17:30 版权所有 (c) Windows Server 2012 R2 Standard 6.3(内部版本 9600)上的 Microsoft Corporation 标准版(64 位): (管理程序)

在此处输入图片说明

我们的系统现在存在重大的性能问题。非常高的 CPU 使用率和线程数: 在此处输入图片说明

等待活动监视器的统计数据(我知道它不是很可靠)

在此处输入图片说明

sp_blitzfirst 的结果:

在此处输入图片说明

sp_configure 的结果:

在此处输入图片说明

高级服务器设置(不幸的是只有德语)

在此处输入图片说明

MAXDOP …

performance sql-server vmware cpu

11
推荐指数
2
解决办法
5438
查看次数

从 Postgres 9.5 升级到 9.6 再到 10.6 后 CPU 使用率一直很高

几天前,我将 RDS 实例 (db.t2.medium) 从 Postgres 9.5 升级到 9.6。升级后,CPU 使用率一直几乎是 100%。这导致我的申请失败。假设问题出在9.6版本上,我又升级到10.6。它变得更好,但仍然比原始 9.5 版本的 CPU 使用率高得多。

我在升级过程中没有更改应用程序代码。如何检查 CPU 使用率增加的原因并可能修复它?

在此处输入图片说明

postgresql amazon-rds cpu

10
推荐指数
1
解决办法
3792
查看次数

是什么导致此查询/执行计划的 CPU 使用率过高?

我有一个支持 .NET Core API 应用程序的 Azure SQL 数据库。浏览 Azure 门户中的性能概览报告表明,我的数据库服务器上的大部分负载(DTU 使用情况)来自 CPU,特别是一个查询:

在此处输入图片说明

正如我们所见,查询 3780 负责几乎所有服务器上的 CPU 使用率。

这在某种程度上是有道理的,因为查询 3780(见下文)基本上是整个应用程序的关键,并且经常被用户调用。这也是一个相当复杂的查询,需要许多连接才能获得所需的正确数据集。查询来自一个最终看起来像这样的 sproc:

-- @UserId UNIQUEIDENTIFIER

SELECT
    C.[Id],
    C.[UserId],
    C.[OrganizationId],
    C.[Type],
    C.[Data],
    C.[Attachments],
    C.[CreationDate],
    C.[RevisionDate],
    CASE
        WHEN
            @UserId IS NULL
            OR C.[Favorites] IS NULL
            OR JSON_VALUE(C.[Favorites], CONCAT('$."', @UserId, '"')) IS NULL
        THEN 0
        ELSE 1
    END [Favorite],
    CASE
        WHEN
            @UserId IS NULL
            OR C.[Folders] IS NULL
        THEN NULL
        ELSE TRY_CONVERT(UNIQUEIDENTIFIER, JSON_VALUE(C.[Folders], CONCAT('$."', @UserId, '"')))
    END [FolderId],
    CASE 
        WHEN C.[UserId] IS NOT NULL OR …
Run Code Online (Sandbox Code Playgroud)

performance sql-server execution-plan azure-sql-database cpu query-performance

9
推荐指数
1
解决办法
6637
查看次数

使用一半可用 CPU 核心的数据库实例

我正在考虑以下场景:

  • 在 Windows Server 2016 上运行的 MSSQL Server 2019 Standard。
  • sys.dm_os_schedulers 显示 12 个可用的逻辑 CPU 核心。
  • 这 12 个核心分布在 2 个插槽中。
  • 尽管它们位于 2 个套接字上,但它们似乎位于同一个 NUMA 节点上(服务器由 VMWare 虚拟化)(coreinfo 输出):
*-----------  Physical Processor 0
-*----------  Physical Processor 1
--*---------  Physical Processor 2
---*--------  Physical Processor 3
----*-------  Physical Processor 4
-----*------  Physical Processor 5
------*-----  Physical Processor 6
-------*----  Physical Processor 7
--------*---  Physical Processor 8
---------*--  Physical Processor 9
----------*-  Physical Processor 10
-----------*  Physical Processor 11

Logical Processor to …
Run Code Online (Sandbox Code Playgroud)

sql-server cpu sql-server-2019

8
推荐指数
1
解决办法
981
查看次数

Improving RAM and CPU utilization by PostgreSQL 9.6

I've been running a function on the database that is going into each table, ALTER COLUMN on all columns of a certain data type, and CAST to remove trailing zeros. About 115 tables varying from a few thousand records to a few hundred thousand records. It has been running for almost 24 hours and my approximate calculation until time of completion is about 58 hours.

I have htop up and checking on it regularly.

I should mention this is a …

postgresql optimization memory centos cpu

7
推荐指数
2
解决办法
2万
查看次数

Postgres Docker CPU 消耗过多

我正在使用 Postgres 容器来运行一些小型的非关键应用程序和站点。它已经稳定了一段时间,但是现在容器在运行了很短的一段时间后开始消耗一些严重的 CPU。我已经删除了所有其他使用 Postgres 容器的容器,即使在启动一个新实例后,CPU 使用率仍然过高。在我的主机 ( docker stats) 中,我看到:

CONTAINER ID        NAME                                              
CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS cd553249727d        data_postgresql.1.ft2gof5jci25xs5w5uqw6eezi                
814.52%             22.11MiB / 46.95GiB   0.05%               129kB / 116kB       0B / 692kB          23
Run Code Online (Sandbox Code Playgroud)

还有这个(top):

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
28923 70        20   0  633580  19664    488 S 696.7  0.0   2408:51 Dp2N
Run Code Online (Sandbox Code Playgroud)

在容器 ( top) 中,我看到:

Mem: 42042244K used, 7183656K free, 3622600K …
Run Code Online (Sandbox Code Playgroud)

postgresql docker cpu

7
推荐指数
1
解决办法
2252
查看次数

如何在 SQL Server 中获取 CPU 速度?

当我从Glenn Berry运行以下查询时

-- Hardware information from SQL Server 2016  (Query 18) (Hardware Info)
SELECT cpu_count AS [Logical CPU Count], scheduler_count, hyperthread_ratio AS [Hyperthread Ratio],
cpu_count/hyperthread_ratio AS [Physical CPU Count], 
physical_memory_kb/1024 AS [Physical Memory (MB)], committed_kb/1024 AS [Committed Memory (MB)],
committed_target_kb/1024 AS [Committed Target Memory (MB)],
max_workers_count AS [Max Workers Count], affinity_type_desc AS [Affinity Type], 
sqlserver_start_time AS [SQL Server Start Time], virtual_machine_type_desc AS [Virtual Machine Type], 
softnuma_configuration_desc AS [Soft NUMA Configuration],
sql_memory_model_desc -- New in SQL Server 2016 SP1 …
Run Code Online (Sandbox Code Playgroud)

sql-server powershell sql-server-2016 cpu

6
推荐指数
1
解决办法
2364
查看次数

为什么我的服务器有数千个“HIDDEN ONLINE”调度程序?

我们有一个带有 16 个 CPU 内核的 SQL Server 2012 实例。当查看 sys.dm_os_schedulers 时,我们看到预期的 16 行是“VISIBLE ONLINE”,每个核心一个。错误日志在启动时显示以下标准条目:

SQL Server 检测到 2 个插槽,每个插槽 8 个内核,每个插槽 8 个逻辑处理器,总共 16 个逻辑处理器;使用基于 SQL Server 许可的 16 个逻辑处理器。这是一条情报信息; 无需用户操作。

然而 sys.dm_os_schedulers 也包含大约。1200 行是“HIDDEN ONLINE”。

在此处输入图片说明

服务器未使用可用性组或镜像,并且未启用资源调控器。

问题是每个隐藏的调度器似乎都被分配了一个工作线程,所以我们的监控软件不断提醒服务器线程用完,即使查询运行得非常愉快并且似乎对性能没有任何实际影响.

我知道隐藏的调度程序只对内部系统进程可用,但你知道是什么导致显示这么多吗?

sql-server sql-server-2012 cpu

5
推荐指数
1
解决办法
688
查看次数

SQL Server 2014 中超过 15000 个休眠会话

CPU 利用率会定期达到 100%,当我检查 SP_who2 时,它显示大约 20000 个会话,其中大多数都在睡眠(也在使用 CPU)。
我认为 CPU 负载与睡眠会话有关

应用程序名称显示为 Microsoft JDBC。

大多数会话都将“SOS_SCHEDULER_YIELD”显示为 last_wait_type。重新启动 Windows Server 后,CPU 利用率已下降,但会话计数正在增加。

服务器有 32 个内核。

应用程序团队告诉他们正在使用一些“连接池”进行连接管理。

如何调查或解决睡眠会话的数量?

performance sql-server sql-server-2014 cpu performance-tuning

4
推荐指数
1
解决办法
1万
查看次数

沿 1 个服务器上的所有 sql 实例划分 CPU 的最佳方法

我有一台带有 40 个 CPU(超线程)和 2 个 NUMA 节点的物理服务器。在这台服务器上,我安装了 20 个 SQL Server 实例,我需要确保每个实例都分配了一些专用的 CPU。

问题是有时一个或多个实例正在使用所有 CPU,然后大约 4 或 5 个实例因 CPU 资源不足而出现故障。

在所有实例之间分配 CPU 以便每个实例至少有一些 CPU 的最佳方法是什么?

sql-server cpu

3
推荐指数
1
解决办法
1152
查看次数