Ubuntu下优化MariaDB可从硬件、配置、索引、查询、维护及监控等方面入手,具体如下:
-
硬件优化
- 使用SSD硬盘提升I/O性能。
- 增加服务器内存,建议配置足够内存以缓存数据和索引。
- 采用多核CPU增强并发处理能力。
-
配置文件优化
- 编辑
/etc/mysql/mariadb.conf.d/50-server.cnf,调整关键参数:innodb_buffer_pool_size:设为系统内存的50%-80%。innodb_log_file_size:适当增大(如256M),减少日志切换频率。max_connections:根据应用需求设置最大连接数。query_cache_size:启用并设置为合理值(如64M),但需注意MariaDB 10.0+对查询缓存的支持情况。slow_query_log:启用慢查询日志,设置long_query_time(如2秒)。
- 编辑
-
索引优化
- 为高频查询字段创建索引,避免全表扫描。
- 合理使用复合索引,删除冗余索引以减少写操作开销。
-
查询优化
- 使用
EXPLAIN分析查询计划,优化低效SQL。 - 避免
SELECT *,只查询必要字段。 - 用
JOIN替代子查询,优化分页查询(如LIMIT+OFFSET)。
- 使用
-
定期维护
- 执行
OPTIMIZE TABLE整理表碎片。 - 定期清理慢查询日志和二进制日志。
- 执行
-
监控与工具
- 使用
pt-query-digest分析慢查询日志。 - 通过
top/htop监控系统资源,或借助Prometheus+Grafana实现可视化监控。
- 使用
-
其他优化
- 启用主从复制或读写分离,分散主库压力。
- 保持MariaDB版本更新,获取性能优化和bug修复。
注意:修改配置后需重启MariaDB服务生效,且需根据实际业务场景调整参数。