AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 227287
Accepted
JasonBluefire
JasonBluefire
Asked: 2019-01-17 06:04:54 +0800 CST2019-01-17 06:04:54 +0800 CST 2019-01-17 06:04:54 +0800 CST

网络问题后可用性组集群内存问题。如何转储 HADR 日志块消息池?

  • 772

我们有一个四节点可用性组,一个站点中有两个节点,另一个数据中心中有两个节点。我注意到在 WAN 连接不稳定的每个 WAN 问题之后,异地节点不断断开连接并重新连接(使用 AOAG 仪表板中的 AOAG 运行状况),主服务器的内存被“HADR 日志块消息池”消耗

SELECT  *
FROM    sys.dm_os_memory_clerks
ORDER   BY pages_kb DESC

类型:OBJECTSTORE_SERVICE_BROKER
名称:HADR 日志块消息池

在最坏的情况下,当网络震荡数小时时,这个内存管理员将最终消耗掉 SQL Server 超过 90% 的内存,导致 SQL Server 停止运行(SQL 有 10GB 的内存“HADR Log Block Msg Pool”正在使用 9.8GB)。

有什么办法可以转储这个 HADR 日志块消息池吗?或者从一开始就阻止它变得如此之大?到目前为止,我们唯一的解决方案是故障转移并重新启动盒子。

没有错误,只有节点断开连接和重新连接的日志以及重新连接后重新加固的数据库的日志。

随着越来越多的内存被“HADR 日志块消息池”占用,可用于其他所有内容的内存下降,从而影响性能。通常这 10GB 的 RAM 适合这个 AOAG 组和用途。只有当 WAN 抖动一段时间后,我们才会遇到这个问题。

我们可以在服务器上投入更多内存,但我认为这不会解决根本问题,它只会在严重损害性能之前为我们争取更多时间。

我同意网络是根本原因,但在问题解决并且 AOAG 恢复同步后,SQL 不会像大多数 SQL 内存管理员那样将 RAM 恢复/重新分配给其他 SQL 内存管理员,这似乎很奇怪。

日志传送将不起作用;这是一个交易环境,我们需要近乎实时的,最好是实时的异地灾难恢复。AOAG 小组 99% 的时间都在工作,而且几乎总是实时同步。我们正在尝试与网络团队合作以改善连接性,和/或可能会使其断开连接而不是抖动。

系统信息
SQL 版本:SQL 2016 SP1 CU6 13.0.4457.0
操作系统版本:Windows 2012 R2 6.3.9600
服务器内存:12GB
SQL 最大内存:10GB

Availability Group config info
AOAG 中有四个数据库
AOAG 数据库加起来是 364GB
两个本地节点处于同步模式,每人一票
两个远程节点处于异步模式,零票
还有一个本地文件见证,一票.

sql-server sql-server-2016
  • 1 1 个回答
  • 453 Views

1 个回答

  • Voted
  1. Best Answer
    Sean Gallardy
    2019-01-17T17:56:42+08:002019-01-17T17:56:42+08:00

    我注意到在 WAN 连接不稳定的每个 WAN 问题之后,异地节点不断断开连接并重新连接,主服务器的内存被“HADR 日志块消息池”消耗

    是的,这是目前的设计。预计两个站点之间的网络可以处理流量并且可用。由于情况似乎并非如此,因此 SQL Server 确实不是这里的问题,而是表现为一个问题。如果您要继续在不可靠且可能延迟极高的低带宽连接上工作,那么我不会使用可用性组。事实上,我不确定你想使用什么,因为没有任何东西会有牢固可靠的连接,这似乎是问题的根本原因。

    有什么办法可以转储这个 HADR 日志块消息池吗?

    SQL Server 内部?不。

    或者从一开始就阻止它变得如此之大?

    是的,修复连接问题,它不会增长。如果是长时间的连接问题,则从 AG 中删除远程副本,它就会停止增长。由于有两个远程副本,数据将被发送两次,这可能会加剧问题,因为在设计架构时可能没有考虑到可用的基础设施。

    服务器内存:12GB

    对于 364 GB 的数据库 + 操作系统 + 集群 + AG + 所有安装的防病毒和代理来说,这是一个非常小的服务器内存。

    • 7

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve