在家庭或小型办公室环境中,将 MariaDB 部署在 Synology NAS 上是一种性价比较高的选择。然而,受限于 NAS 的硬件与文件系统特性,数据库的性能可能不如专用服务器。通过合理的硬件升级与参数优化,可以显著提升 MariaDB 的响应速度与稳定性。本文将从硬件与软件两个层面介绍优化方法。

一、硬件优化建议

1. 升级内存(RAM)

提升内存容量是提升数据库性能的最直接方式。理想情况下,可用内存应大于或等于数据库的整体大小,使数据尽可能被缓存在内存中,以减少磁盘 I/O。

建议:

  • 将 NAS 内存升级到设备支持的最大容量。
  • 使用与官方兼容的内存模块以确保稳定性。

2. 使用 SSD 缓存

若 NAS 支持 SSD 缓存,可显著改善随机读取与写入性能,对数据库这种 I/O 密集型服务非常有帮助。

建议:

  • 启用 SSD Read/Write 缓存。
  • 使用持久写缓存(Write-back)模式可获得更高性能(注意要搭配 UPS)。

二、软件与配置优化

在 MariaDB 上增加缓冲池大小,为数据库缓存分配尽可能多的内存。如果整个数据库无法全部放入内存,请使用系统允许的最大值。调整池大小后,在/var/packages/MariaDB10/etc/my.cnf中添加以下行1

[mysqld]
innodb_flush_method = O_DIRECT

为获得最佳性能,建议将 MariaDB 安装在 ext4 存储空间上。不推荐使用 Btrfs,因为其写时复制(COW)机制可能会对随机写入性能产生负面影响并增加碎片。

如果必须使用 Btrfs 系统,请在存储管理器中定期运行文件系统碎片整理,以减少碎片并保持性能。

注意事项:如果缓冲池大小过小,将innodb_flush_method设置为O_DIRECT可能会降低性能。