SQL Server调整

我需要创build一个devise来满足以下要求的优惠券系统

  • 优惠券每6周发行一次
  • 每次发行将提供大约90万个优惠券实例
  • 优惠券实例logging一旦超过6个月就可以删除
  • 总优惠券实例约3.8亿
  • 约每分钟3500个兑换请求(读/写)的峰值+每分钟1500个validation请求(只读)
  • 必须支持来自大约3000个POS收银台的连接
  • db必须提供小于0.5秒的响应

我需要与SQL Server 2008r2 64位。 16GB和8CPU是否足够? 你认为我还需要使用表分区?

谢谢

抢。

我会继续回答硬件部分:

基本上,SQL Server试图将数据库保存在RAM中并经常轮询系统,以查看RAM是否可用,并且只在开始运行时才开始交换数据(不完全正确,很less使用的表也可能交换到磁盘AFAIK)免费记忆。 如果你可以稍微估计一下你的数据库的大小,那么尽可能多地使用RAM来将你的数据库完全放入RAM中,然后再把它们放入RAM中。 如果这是不可能的(或者更好:也是这样做的话),试着获得一个快速的I / O子系统,并按照build议在多个磁盘上传播数据库文件。

  • 你的devise和索引将变得更加重要
    没有这个,无论你做什么都会有问题
  • 我会添加更多的内存
  • 您的磁盘设置很重要:单独的数据/日志/ tempdb
  • 分区可能是有用的,但不是必须的:每个分区单独的磁盘arrays会更好

16GB和8CPU是否足够?

是的,但是这就像无线电模型的大小。

交易数据库的重要因素一直是光盘的布局和速度。 例如,你每秒发生3500次更改转换(通过赎回书写)。 一个15k SAS驱动器对于450 IOPS是有利的。 银行 – 这是一个问题。 你的CPU甚至不会汗streamthis背,RAM甚至不在游戏中。

所以,更重要的是一个非常快速的IO子系统。