CPU性能与数据库服务器相关吗?


33

这是一个纯粹的理论问题。假设我有一个部署在多台服务器上的应用程序。

  1. 负载均衡器
  2. 多个/可扩展的应用程序服务器
  3. 一台(单个)数据库服务器(目前)

在前两个部分,我确实知道要寻找什么。但是数据库服务器呢?我应该寻找哪种硬件?

  • CPU频率与数据库服务器相关吗?
  • 多个核心CPU相关吗?
  • RAM比CPU更重要吗?

PS:假设所选数据库是MySQL或PostgreSQL。


好吧,它必须有一个。
ConcernedOfTunbridgeWells

Answers:


29

对于PostgreSQL,CPU功能可能非常相关,尤其是如果您的数据活动工作集中中有相当大的百分比适合RAM时。我使用过的大多数数据库大多数时候都将CPU功能作为主要瓶颈。(我只是在托管网站的服务器上检查了vmstat,该网站每天有数百万次点击,托管超过5TB的数据库空间,但我从未看到磁盘等待时间超过2%,但是看到了12%的用户CPU时间高峰。)

由于PostgreSQL是基于进程的,因此任何单个进程只能以一个内核的速度运行,但是像上面提到的服务器那样,在混合的情况下,由于大量的小请求,所有内核的总CPU才是最重要的。对于相同的总CPU能力,PostgreSQL会以更少,更快的内核比许多更慢的内核表现更好。

直到缓存了较高百分比的活动数据集之后,与添加内核相比,添加RAM通常会带来更多收益。拥有足够的缓存后,额外​​的RAM的好处就会减少,您最好提高CPU的性能。

有关,因为它涉及到PostgreSQL此主题的更多细节,我不认为还有比一个更好的源PostgreSQL的9.0高性能格雷格·史密斯。(全部披露,我曾是该书的技术审阅者,但未从销售中获得任何经济利益。)


嘿,我有书。您是否要参考任何特定的页面,部分或章节?(从PostgreSQL角度来看,顺便说一句+1)
RolandoMySQLDBA 2012年

感谢您提供有关PostgreSQL的信息。我将检查这本书。;)
Zenklys 2012年

1
第21-23页的好东西
RolandoMySQLDBA'4-4-26

与第21-23页相比,我可以看到您第二段的智慧。
RolandoMySQLDBA 2012年

23

从MySQL的角度严格来说,这是一个非常麻烦的问题

与数据库服务器有关的CPU频率?

虽然更快的CPU和主板性能很好,但其他瓶颈也可以解决。这些瓶颈包括:

  • 磁盘I / O
  • 最大连接数
  • 网络延迟
  • 每个连接的查询性能

每一个小小的优势帮助,但我不得不说,没有因为CPU的速度,本身并不能提高对上述瓶颈。毕竟,戴着敞篷降落伞或方向盘上有800磅大猩猩的一级方程式赛车能做什么呢?

多个核心CPU相关吗?

这完全取决于您正在运行的MySQL版本。MySQL 5.1 InnoDB插件,MySQL 5.5和Percona Server的XtraDB都有必须正确配置的设置才能使InnoDB访问所有核心。这样做的真正动力来自一个事实,即我在过去的文章中讨论的某些旧版本的MySQL LEFT UNCONFIGURED比新版本更快:

因此,如果您不愿意将InnoDB配置为访问所有CPU,那么拥有多个内核绝对不会给您带来任何好处

RAM比CPU更重要吗?

哦,是的。MySQL的内存配置需要设置

这些东西的组合要求太少或太多,MySQL就会再次咬你。MySQL错误配置用于RAM的更快CPU,只会使MySQL更快地咬住您。


2
好答案。我将检查所有这些链接,谢谢。
Zenklys 2012年

6
  • 没有
  • 没有

简而言之,您需要数据库的RAM和IO性能(延迟+读取速度+写入速度)。

选择4核或6核还是2.5 GHz和3 GHz并没有太大关系(我假设您不必在具有32 GB RAM的P3-450或具有1GB RAM的最新Xeon之间进行选择)。

如果您受CPU的限制,那么就会遇到其他问题(设计不良,索引差,交换,非专用服务器等)


感谢您的回答。SSD是一个不错的选择吗?超过CPU功率?
Zenklys 2012年

@Zenklys:很难说。您拥有什么大小的数据库?写量?读取负载?OLTP还是OLAP?等等
gbn 2012年

最大20- 30 GB。读写比率为10:1,只有小数据,OLTP。
Zenklys 2012年

2
@Zenklys:在那种情况下,这并不重要。只需购买用于MySQL的RAM,以便尽可能多地缓存数据
gbn 2012年

3
不知道为什么这是公认的答案。由于它不考虑应用程序,工作负载或数据集的大小,因此很简单。@kgrittn根据实际经验提供了一个更好的答案,并更好地理解了Postgres的操作理论。
dbenhur 2012年
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.