我有一个相对较小且快乐的 MySQL 5.1 数据库,安装在 FreeBSD 7.1 64 位上。由于与我们的备份软件和 FreeBSD 不兼容,我必须将数据库移动到 Linux 服务器。
因为我们在这里的所有其他东西上都运行 Debian,所以我会接受它。最大的问题是我应该运行 32 位还是 64 位。这是一个虚拟化环境,因此硬件在其中不起作用。
通过使用分配了很少内存的 64 位 linux+64 位 MySQL(假设 512M 极端),我会获得任何性能提升(或损失)吗?我是否应该只使用 32 位,直到我需要为 MySQL 分配超过 2GB 的 RAM(PAE 没有帮助,32 位 MySQL 不能使用超过 2GB)?
你已经自己回答了这个问题。
如果您 100% 肯定不会在当前硬件生命周期中超过 2GB 的 RAM 使用量,那么您可以继续使用 32 位,但到了更换硬件的时候,您无论如何都必须重新考虑。
鉴于当前的硬件市场,我没有看到不使用 64 位的真正理由,如果出现不可预见的增长,这将是安全的一面,缓存和实际数据大小都是如此。毕竟,完全迁移所花费的时间比仅仅拆下盒子并添加一些 RAM 需要更长的时间。
缺点可能是 64 位系统上的指针使用了大约 30% 的内存,但如果你真的停留在内存使用量的小部分,这不会真正伤害你,但另一方面,如果你增长,你将能够增长更多快速(至少只要您可以留在同一个硬件盒上)
64位。如果由于某种原因,您收到的请求超出了 512 的数据库需求,您可以添加一些便宜的 ram 并完成它。无需重新安装等。
在 64 位操作系统上运行 Mysql 5 或更高版本通常是值得的,无论您要寻址的内存如何,因为数据库中内部使用了 64 个整数。除非您尝试将安装安装到少量 RAM 中,否则几乎没有理由选择 32 位安装的 Mysql。
我认为比选择 32bit 或 64bit 更重要的是:
这就是我的决定。我不会“选择”一种架构。我会将我的案例与这样的逻辑树进行比较。