Zen*_*lys 34 mysql postgresql performance
这是一个纯理论问题。假设我在多台服务器上部署了一个应用程序。
在前两个部分,我知道要寻找什么。但是数据库服务器呢?我应该寻找什么样的硬件?
PS:假设选择的数据库是 MySQL 或 PostgreSQL。
kgr*_*ttn 29
对于 PostgreSQL,CPU 能力可能非常重要,尤其是当您的数据的活动工作集的相当高百分比适合 RAM 时。大多数时候,我使用过的大多数数据库都将 CPU 能力作为主要瓶颈。(我刚刚在托管网站的服务器上检查了 vmstat,每天有数百万次点击托管超过 5TB 的数据库空间,我从未见过超过 2% 的磁盘等待时间,但看到了 12% 的用户 CPU 时间的峰值。)
由于 PostgreSQL 是基于进程的,因此任何单个进程的运行速度只能达到一个内核,但在像我们在上面提到的服务器上那样的混合中,对于大量小请求,所有内核的总 CPU 是最重要的。对于相同的 CPU 总功率,PostgreSQL 使用更少、更快的内核通常会比许多更慢的内核做得更好。
在缓存大部分活动数据集之前,添加 RAM 通常比添加内核更划算。在您获得足够的缓存后,额外 RAM 的好处会下降,您最好提高 CPU 能力。
有关,因为它涉及到PostgreSQL此主题的更多细节,我不认为这是一个更好的来源比PostgreSQL的9.0高性能由格雷格·史密斯。(完全公开,我是这本书的技术评论员,但没有根据销售获得经济利益。)
Rol*_*DBA 23
严格从 MySQL 的角度来看,这是一个非常重要的问题
与数据库服务器相关的 CPU 频率?
虽然更快的 CPU 和主板很棒,但其他瓶颈可能会阻碍。此类瓶颈包括:
每一个小小的优势帮助,但我不得不说,没有因为CPU的速度,本身并不能提高对上述瓶颈。毕竟,一级方程式赛车戴着开放式降落伞或方向盘上有 800 磅重的大猩猩有什么好处?
多核 CPU 是否相关?
这完全取决于您正在运行的 MySQL 版本。MySQL 5.1 InnoDB Plugin、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 限制,那么您还会遇到其他问题(设计不佳、索引不佳、交换、非专用服务器等)
| 归档时间: |
|
| 查看次数: |
26739 次 |
| 最近记录: |