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 / 问题 / 22361
Accepted
JohnLBevan
JohnLBevan
Asked: 2012-08-14 04:04:56 +0800 CST2012-08-14 04:04:56 +0800 CST 2012-08-14 04:04:56 +0800 CST

SQL Server 复制 :: 专用分销商硬件要求

  • 772

关于专用分销商服务器的硬件要求,有谁知道任何经验法则(或更好的)?即基于估计指标(例如订阅者、发布者、表的数量、平均表大小、平均更新频率等)是否有某种方法可以计算分发者的最低 RAM/CPU 要求?

更多信息

尽管发布者和订阅者目前是 2008 和 2008 R2 的混合版本,但我们可能会使用 SQL Server 2012 作为分发者。

分发服务器将被集群以确保高可用性。我们将选择主动/主动以优化资源利用,将一半的发布者发送给一个,另一半发送给另一个,但将确保集群规范中的每个节点都满足最低规范,以便一个节点出现故障时解决方案还是可以应付的。

背景信息

我们一直在使用复制来允许我们的国际 BI 系统从我们的事务系统中提取数据而不影响性能,而 BI 服务器托管分发器。展望未来,我们希望将此分布转移到单独的服务器上,以便我们可以将复制作为服务提供给 BI 团队和其他需要此功能的团队(即来自不同国家的本地 BI 团队和我们的内部监控系统)。我们希望看到被复制的表数量以及订阅者和发布者的数量会增加(因为我们也将包括我们的非生产系统)。

提前致谢。

sql-server replication
  • 1 1 个回答
  • 1996 Views

1 个回答

  • Voted
  1. Best Answer
    Phil Grayson
    2016-03-04T05:06:48+08:002016-03-04T05:06:48+08:00

    在虚拟机上运行是一个好主意,因为很难定义资源需求,但在大多数情况下,分发者非常轻量级。主要因素是订阅者数量、交易数量和复制中的文章数量。

    一些帮助提示:

    • 仅复制您需要的内容,包括 SP、视图等。
    • 使用 pull 将减少对分发器的 CPU 和内存需求。
      • 这在 Web 版本中更难实现,但可以通过脚本实现。
      • 如果您有很多推送代理正在运行,您应该在 SQL 之外允许更多内存。
      • 如果使用推送并且有很多代理,请考虑增加桌面堆大小。(这是注册表更改)
    • 选择正确的复制类型。
      • 快照对分发者来说很轻,因为它没有日志阅读器或清理工作的开销,但在推出时对网络和订阅者来说更重。
    • 企业版不会为分销商提供任何真正的性能优势。
      • 我希望旋转木马读取会,但不会,当问题发生时,它主要在 CPU 中。
    • 您可能会发现为网络保留一些核心很有帮助,因为大型分销商可能会在导入或清理工作期间不堪重负并且难以将数据取出。
      • 我说的是 1000 个订阅者和 100,000 篇文章(不是我的想法)。
    • 向分配器扔 CPU 很少能解决高 CPU 问题。您需要像对待任何其他数据库一样对待分发数据库并对其进行调整(我相信 Denny Cherry 有一篇文章推荐了一些索引)。
    • CPU 也可能是由于清理作业期间的锁定和死锁或大型事务未能交付导致订阅代理扫描整个表而引起的。您可能会发现降低清理作业的频率实际上有助于整体吞吐量,但可能会影响延迟。

    简而言之,如果复制配置正确,更新会正确批处理(不要在一个事务中更新数百万行)并且订阅者是最新的,那么它很高兴。

    • 2

相关问题

  • 运行时间偏移延迟复制的最佳实践

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

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

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

  • PostgreSQL 9.0 Replication 和 Slony-I 有什么区别?

Sidebar

Stats

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

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

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

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

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

    • 4 个回答
  • Marko Smith

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

    • 7 个回答
  • 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
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +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
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +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