数据库服务器:小型快速RAM还是大型慢速RAM?

我们目前正在devise新的数据库服务器,并且提出了一个折衷,我不完全确定如何回答。

这些是我们的select:48GB 1333MHz或96GB 1066MHz。

我的想法是,内存应该是丰富的数据库服务器(我们有充足的数据和一些非常大的查询),而不是尽可能快。 显然我们无法获得1333MHz的16GB芯片,因此上面的select。

那么,我们应该得到很多更慢的RAM,还是更快的RAM?

额外信息:

可用DIMM插槽数量:6
服务器:戴尔刀片服务器CPU:6核(由于Oracle许可证,只有单一插槽)。

你会想要与大而慢的RAM。 与RAM性能和磁盘性能之间的差异相比,RAM性能的差异可以忽略不计。

好吧,这非常非常简单:

你的数据库是否适合操作系统和所有的48GB内存? 如果是,拿那个。 否则,需要96GB

此外,RAM的xyz GB中的数据库拟合意味着它适合索引,视图和所有这一切。

SSD的评论是完全废话,带宽和访问时间都不在同一水平上,没有固态硬盘可以certificate减less内存。

只有数据库? 根据数据库的不同,我认为更大的RAM会更好。 速度差异已被certificate是最好的,但额外的48GB将/可能会产生巨大的差异。

绝对大的内存,速度是该死的。

访问20世纪90年代RAM技术的随机数据低于100ns。 这是使用几乎古代的芯片,甚至不适合任何边界的现代。

访问最先进的15k rpm硬盘驱动器的随机数据以毫秒为单位。 100纳秒缩短10万倍(纳米 – >微 – >毫)比1毫秒。 目前的RAM速度更快,硬盘需要几个毫秒的时间来访问数据。 如果我能够获得更多,我的内存速度比硬盘快5万倍,或者比硬盘快3万倍,我无所谓。

你必须注意一些问题:

  • 内存路由内存速度取决于两个因素:总线速度和延迟。 通常情况下,芯片密度越高,延迟越高,最终意味着速度越慢
  • 索引总数据将整个索引数据加载到内存中的最关键的因素。 索引数据是您在内存中需要的最关键的数据(性能的惩罚效应更高)。
  • 磁盘速度您是否将SSD数据存储在SSD中? 如果答案是肯定的,请特别注意内存延迟。

MEMORY BANDWIDTH = / = SPEED!

可能最重要的缺失信息是内存时序和CPU / FSBtypes。 将CPU内存负载延迟降低几个周期,并且在某些计算中,您将爆炸双倍的带宽。 由于操作系统和技术原因,有些数据库不使用大量内存,您使用的是哪种数据库服务器? CPUtypes? L [123]caching级别? 要运行的查询types? 数据库的大小?

在花费太多钱在错误的硬件上之前,我会在购买硬件之前做一些testing和分析。

  • 首先,考虑一下你的SLA。
  • 任何对性能和响应时间的苛刻要求?

你的select应该取决于很多因素:

  • 在不同的工作量和用途下,究竟是什么瓶颈呢?
  • CPU,内存,存储,networking?
  • 把更多的钱花在更快的存储上比更多的内存更重要吗?
  • 比更多的内存更快的CPU? 更快的networking? 对sofware / sql稍作重新devise?

  • 你的分析也可能是非常相关的开发人员,数据库和软件architcts,和SQL查询devise师…..

如果您使用的是Windows,您可以轻松运行perfmon以查看当前正在运行的系统的一些静态信息,并且可能很幸运地了解您的需求。