Answers:
对于PostgreSQL,CPU功能可能非常相关,尤其是如果您的数据活动工作集中中有相当大的百分比适合RAM时。我使用过的大多数数据库大多数时候都将CPU功能作为主要瓶颈。(我只是在托管网站的服务器上检查了vmstat,该网站每天有数百万次点击,托管超过5TB的数据库空间,但我从未看到磁盘等待时间超过2%,但是看到了12%的用户CPU时间高峰。)
由于PostgreSQL是基于进程的,因此任何单个进程只能以一个内核的速度运行,但是像上面提到的服务器那样,在混合的情况下,由于大量的小请求,所有内核的总CPU才是最重要的。对于相同的总CPU能力,PostgreSQL会以更少,更快的内核比许多更慢的内核表现更好。
直到缓存了较高百分比的活动数据集之后,与添加内核相比,添加RAM通常会带来更多收益。拥有足够的缓存后,额外的RAM的好处就会减少,您最好提高CPU的性能。
有关,因为它涉及到PostgreSQL此主题的更多细节,我不认为还有比一个更好的源PostgreSQL的9.0高性能由格雷格·史密斯。(全部披露,我曾是该书的技术审阅者,但未从销售中获得任何经济利益。)
从MySQL的角度严格来说,这是一个非常麻烦的问题
与数据库服务器有关的CPU频率?
虽然更快的CPU和主板性能很好,但其他瓶颈也可以解决。这些瓶颈包括:
每一个小小的优势帮助,但我不得不说,没有因为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更快地咬住您。
简而言之,您需要数据库的RAM和IO性能(延迟+读取速度+写入速度)。
选择4核或6核还是2.5 GHz和3 GHz并没有太大关系(我假设您不必在具有32 GB RAM的P3-450或具有1GB RAM的最新Xeon之间进行选择)。
如果您受CPU的限制,那么就会遇到其他问题(设计不良,索引差,交换,非专用服务器等)