SQL Server 大小调整

SQL Server 大小调整

我需要创建一个设计来满足优惠券系统以下要求

  • 每 6 周发放一次优惠券
  • 每次发行将提供约 9000 万张优惠券实例
  • 优惠券实例记录一旦超过 6 个月就会被删除
  • 总优惠券实例约 3.8 亿
  • 每分钟峰值约为 3,500 个赎回请求(读/写)+每分钟 1,500 个验证请求(只读)
  • 必须支持约 3,000 台 POS 收银机的连接
  • 数据库必须提供 0.5 秒内的响应

我需要使用 SQL Server 2008r2 64 位。16gb 和 8CPU 够用吗?您认为我还需要使用表分区吗?

谢谢

抢。

答案1

我将继续回答硬件部分的问题:

基本上,SQL Server 会尝试将数据库完全保存在 RAM 中,并频繁轮询系统以查看 RAM 是否可用,并且仅在内存不足时才开始交换数据(不完全正确,据我所知,很少使用的表也可能会交换到磁盘)。如果您可以大致估计数据库的大小,请尝试获取尽可能多的 RAM,以使数据库完全适合 RAM,然后再多放一些。如果这不可能(或更好:也这样做),请尝试获取快速 I/O 子系统并将数据库文件分散到多个磁盘上,这也是建议的。

答案2

  • 你的设计和索引将更为重要,
    没有这些,无论你做什么都会遇到问题
  • 我会添加更多 RAM
  • 你的磁盘设置很重要:单独的数据/日志/tempdb
  • 分区可能有用,但不是必需的:每个分区一个单独的磁盘阵列会更好

答案3

16gb 和 8CPU 够用吗?

是的,但是这就像根据收音机的型号来判断汽车的尺寸一样。

对于事务数据库来说,更重要的因素一直是磁盘布局和速度。例如,每秒发生 3500 次更改事务(通过赎回写入)。15k SAS 驱动器仅适用于 450 IOPS。银行 - 这里有一个问题。您的 CPU 甚至不会为此而烦恼,RAM 甚至不在游戏中。

因此,更重要的是一个非常快的 IO 子系统。

相关内容