数据库服务器能够在2个16核的CPU或者8个4核的CPU上运行得更好吗?

我拥有的:

  • 一个在线财务应用程序(ASP.NET,C#)
  • 在高峰期,我们有5K +同时用户
  • 后端在Oracle 11g上运行(活动服务器+使用Active Data Guard的备用服务器)。 在峰值 – 4K-5K数据库会话
  • Oracle安装在Linux 5.8(Oracle的不可破解的版本)上
  • 数据库大小:7TB
  • 磁盘存储:NetApp(连接10GBnetworking)

我想replace旧的服务器(IT将购买HP刀片BL685C)。 服务器将有256GB的RAM。

我需要你的帮助来弄清楚如何处理CPU和内核。 选项:

  1. 2个CPU(2.3 GHz),每个16个核心
  2. 4个CPU(3.0 GHz),每个8个核心

问题:我应该select哪一个?

PS明年,我们将从Oracle迁移到SQL服务器。 我希望,无论您推荐什么选项,都可以在两个平台上使用

有两个你想看的因素:

  1. 总体性能总计:这是对盒子上所有内核总计算能力的衡量。 您可以通过查看CPU的Passmark CPU等级并乘以系统中的物理CPU数量来估计此值。

  2. 单线程性能:这是衡量CPU可以为单个线程提供多less计算能力的指标。 您可以通过查看CPU的Passmark CPU额定值并除以CPU中的内核数量来估计此值。 (对于超线程CPU,除以物理内核数量的1.25倍。)

如果一台机器都采取这些措施,那么这可能是您最好的select。 如果在两种方法上分裂,那么可以看出,软件如何有效利用多个核心。

请注意,内存性能也可能很重要。 更多的内存通道意味着更快的内存访问。 当然,内存总量也很重要。 不同的CPU通常意味着不同的主板,这可能意味着不同的内存性能。

有了大致相同的BogoMIPS,我想说你应该估计在这两种情况下总的L1 / L2caching容量 – 最大的是胜利者。

您还需要知道NUMAconfiguration。 如果您只有一个NUMA节点或多个NUMA节点。 我知道SQL Server是NUMA的,我也认为Oracle也是。 这会对数据库性能产生很大的影响,因为在同一个NUMA节点中访问内存比在另一个NUMA节点中访问内存要快得多。

有一些事情你需要知道,例如:处理器的速度(ghz或mhz)并不是真正的工作速度。 请记住,有比其他更周期高效的处理器。 我认为你需要看一些CPU基准testing,以确定哪个处理器更好的服务器。

玩的开心!