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


33

我们目前正在设计我们的新数据库服务器,但我还不确定如何回答这个问题。

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

我的想法是RAM应该足够用于数据库服务器(我们有大量的数据,以及一些非常大的查询),而不是尽可能快。显然,我们无法在1333MHz上获得16GB芯片,因此需要上面的选择。

因此,我们应该获得许多较慢的RAM还是较慢的RAM?

额外信息:

可用的DIMM插槽数量:6个
服务器:Dell Blades CPU:6核(由于Oracle许可,仅一个插槽)。


12
IMO,RAM容量增加100%,RAM速度增加20%。
乔互联网

3
特别是因为它甚至还不到20%;)
TomTom

感谢大家。我也很确定这一点,但想要确认。
Josh Smeaton

Answers:


59

您将要使用大而慢的RAM。与RAM性能和磁盘性能之间的差异相比,RAM性能的差异可以忽略。


当然,这取决于数据库的大小-基本细节,但仍然很重要。
Morg。

是的,乔希明确指出,当前的情况涉及“大量数据”。
天鹰

对于某些人来说,一百万行看起来像“大量数据”,虽然这几乎不是一个没有将所有内容存储在内存中的原因;)
Morg。

16

好吧,这非常非常简单:

您的数据库是否适合OS和所有操作系统的48GB RAM?如果是,那就接受。其他,占用96GB

而且,数据库适合xyz GB的RAM意味着它适合索引,视图等所有内容。

SSD注释完全是胡说八道,带宽和访问时间不在同一级别,并且没有SSD可以证明占用更少的RAM是合理的。


5
这是非常重要的信息。如果数据库只有5GB,并且不打算做得更大,那么您最好还是使用少量的更快的RAM。
Kibbee

13

仅数据库?取决于数据库,我认为较大的RAM会更好。速度差异已被证明是微不足道的,但是额外的48GB将/可能会产生巨大的差异。


11

绝对大的RAM,速度真该死。

从XX世纪90年代开始,RAM技术对随机数据的访问低于100 ns。那实际上是使用了古老的芯片,甚至在物理上都无法适应现代的边界。

先进的15,000 rpm硬盘访问随机数据的时间以毫秒为单位。100 ns比1 ms短(nano-> micro-> milli)1万倍。当前的RAM速度更快,HDD需要几毫秒的时间才能访问数据。如果我的RAM能比HDD快5万倍或仅比硬盘快3万倍,我可以不在乎。


5

您必须注意以下几点:

  • 内存Lantecy内存速度取决于两个因素:总线速度和延迟。通常情况下,密度更高的芯片会导致更高的延迟,而最终意味着速度降低
  • 总索引数据将整个索引数据加载到内存中的最关键的y。索引数据是您在内存中需要的最关键的数据(对性能的影响更大)。
  • 磁盘速度您是否将DB数据存储在SSD中?如果答案是肯定的,请特别注意内存延迟。

2

内存带宽= / =速度!

丢失信息信息中最重要的一条可能是内存时序和CPU / FSB类型。将CPU内存负载延迟降低几个周期,您将在某些计算中使带宽翻倍。由于操作系统和技术原因,某些数据库不使用大量内存,您正在使用什么数据库服务器?CPU类型?L [123]缓存级别?要运行的查询类型?数据库的大小?


2
-1。在99.9%的情况下完全错误。
TomTom

您指的是哪一部分?
Silverfire

2
任何大于内存的数据库都会立即减慢速度。与-除非是非常特殊的OLAP情况-引入的IO延迟相比,CPU周期是一个笑话。大多数数据库都使用大量的ram-我见过的最简单的数据酶服务器对于一个小型数据库来说并不是开玩笑,它的RAM使用率是普通工作站的许多倍。除非您坚持使用过时的过时技术(“操作系统限制”)。而且cpu速度和fsb类型都不起作用-数据库需要内存。
TomTom

0

在花太多钱购买错误的硬件之前,我将做一些测试和分析,然后再购买硬件。

  • 首先,考虑一下您的SLA。
  • 对性能和响应时间有硬性要求吗?

您的选择应取决于许多因素:

  • 在不同的工作负载和使用情况下,瓶颈实际上是什么?
  • CPU,内存,存储,网络?
  • 将更多的钱花在更快的存储上而不是更多的内存上是否更重要?
  • CPU比更多的内存更快?更快的网络?在软件/ SQL上进行较小的重新设计?

  • 您的分析也可能与开发人员,数据库和软件架构以及sql查询设计器非常相关。

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


1
我是一名开发人员,正在协助权衡这一决定。我们缺乏真正的系统管理员,因此我们所有人(我们中6个人)都参与了讨论。我们当前的服务器是32位的,并且由于每个进程的内存限制,无法执行很多操作。目前,我们的网络/存储(应该)很好。存储后端是SAN。我们的CPU从未达到极限。与查询相关的大部分成本是I / O,可以通过使用更多RAM来减轻这种负担。我们还将升级到RAC。我们对需要什么有清晰的认识。这是细节问题。
乔什·史密顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.