You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

1GB内存Ubuntu服务器MySQL配置问题:存储日增1%求调优建议

MySQL配置优化建议(适配1GB内存/2核CPU低流量电商场景)

存储每日增长1%优先排查项:先确认是否为业务数据正常增长,排除业务侧原因后,优先检查MySQL日志文件大小、是否存在未清理的临时表/冗余日志表,是否有大字段存储大量无效内容。可执行以下命令定位占用空间最大的库表:

SELECT table_schema, SUM(data_length + index_length)/1024/1024 AS total_size_mb 
FROM information_schema.TABLES 
GROUP BY table_schema 
ORDER BY total_size_mb DESC;

内存占用控制配置(避免OOM同时保证基础性能)

  • innodb_buffer_pool_size = 128M:1GB内存场景下给InnoDB缓冲池分配128M即可,预留足够内存给Web服务和系统运行,避免触发内存不足进程被强制杀死
  • key_buffer_size = 16M:仅针对MyISAM表生效,若业务全部使用InnoDB表可下调至8M
  • sort_buffer_size = 256K、read_buffer_size = 256K:降低单连接内存占用,低流量场景下完全满足常规查询需求
  • max_connections = 50:新站流量极低,50个连接足够支撑业务,减少不必要的连接内存开销

存储膨胀抑制配置

  • innodb_file_per_table = 1:开启单表单表空间,后续删除数据、优化表时可直接释放磁盘空间,避免共享表空间持续膨胀无法回收
  • 无主从同步需求时配置skip_log_bin = 1:关闭二进制日志,可节省大量磁盘空间;若需开启主从则加配expire_logs_days = 7,自动清理7天前的旧日志
  • 非排查阶段关闭慢查询日志:配置slow_query_log = 0,若需保留则配置long_query_time = 2仅记录超过2秒的慢查询,同时定期清理慢查询日志文件
  • innodb_purge_threads = 1:加快旧undo日志清理速度,避免undo空间无意义膨胀

低流量场景性能优化配置

  • query_cache_type = 1、query_cache_size = 32M:电商场景读多写少,查询缓存可有效降低数据库负载,提升接口响应速度
  • innodb_log_file_size = 64M:平衡写入性能和崩溃恢复速度,低流量场景完全够用

配置修改完成后重启MySQL生效,可执行mysqladmin variables | grep 对应配置名确认配置是否正确加载。针对频繁增删的业务表,可每周执行一次OPTIMIZE TABLE 表名回收表碎片空间。

内容的提问来源于stack exchange,提问作者papa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:09:04