我的应用程序的典型 DB 用法是在一张大表上读取/更新。我想知道 MySQL 是否在单个多处理器机器上扩展读取操作?写操作怎么样 - 他们能够利用多处理器吗?
顺便说一句 - 不幸的是我无法优化表模式。
谢谢你。
设置细节:
- X64,四核
- 单硬盘(无RAID)
- 充足的内存(4GB+)
- Linux 2.6
- MySQL 5.5
我的应用程序的典型 DB 用法是在一张大表上读取/更新。我想知道 MySQL 是否在单个多处理器机器上扩展读取操作?写操作怎么样 - 他们能够利用多处理器吗?
顺便说一句 - 不幸的是我无法优化表模式。
谢谢你。
设置细节:
如果您使用的是传统硬盘,您经常会发现在 CPU 内核用完之前就已经用完了 IO 带宽。固定四核机器的唯一方法是拥有一个非常高性能的 SSD 条带 RAID 阵列。
如果您无法优化架构,那么您的选择非常有限。这就像要求在不打开引擎盖的情况下调整汽车。也许您可以更换轮胎或使用更好的汽油,但基本性能提升来自多个因素,其中最值得注意的是,额外的索引和战略性的非规范化数据。
在数据库领域,4GB 内存几乎算不了什么,8GB 对于任何负载的系统来说绝对是最低限度,而单个磁盘是一个非常糟糕的主意。出于数据完整性的原因,您至少应该有某种形式的镜像。