mysql内存优化

原文地址:http://www.leihuang.org/posts/mysql-memory-optimization

弄了几台国外的低价vps,内存只有512,用来挂shadowsocks和网站用的,结果发现网站过多了之后,内存完全不够用。

于是top命令了下,发现mysql占用的内存非常高,单单mysql就占用了400多M,太恐怖了,还让不让别的进程运行了。

而且我的网站数据库访问的次数并不多,感觉浪费了许多内存。于是查了下如何优化mysql的内存。

网上得知mysql5.6之后会默认开启,performance_schema,于是用命令查了下果然。

show engine performance_schema status;

结果如下

| performance_schema | performance_schema.memory | 303521144 |

只需要在mysql配置文件my.cnf中关闭performance_schema就可以了,添加一句:

performance_schema=OFF

然后重启mysql,继续用top命令一查,果然减少了好多.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MySQL内存优化可以通过调整几个关键参数来实现。以下是一些常见的内存优化技巧: 1. 缓冲池 (Buffer Pool):增加InnoDB缓冲池的大小,可以提高查询性能。通过将innodb_buffer_pool_size参数设置为适当的值,可以将更多的数据和索引缓存在内存中,减少磁盘I/O操作。 2. 查询缓存 (Query Cache):在适当情况下启用查询缓存可以提高查询性能。通过设置query_cache_type为DEMAND或ON,并调整query_cache_size参数,可以将查询结果缓存在内存中,减少重复查询的开销。 3. 连接线程缓存 (Connection Thread Cache):合理设置max_connections参数,以避免频繁创建和销毁连接线程的开销。通过设置thread_cache_size参数,可以缓存已经创建的连接线程,加快新连接的建立速度。 4. 排序缓冲区 (Sort Buffer):增加排序缓冲区的大小可以改善排序操作的性能。通过调整sort_buffer_size参数,可以将排序所需的数据缓存在内存中,减少磁盘I/O操作。 5. 临时表空间 (Temporary Table Space):增加临时表空间的大小可以提高对临时表的处理性能。通过调整tmp_table_size和max_heap_table_size参数,可以控制临时表的内存使用。 6. 线程栈空间 (Thread Stack):调整线程栈空间的大小,可以避免stack_overflow错误。通过设置thread_stack参数,可以根据应用程序的需求来调整线程栈的大小。 7. 调整其他缓存参数:根据具体的应用需求,可以适当调整其他缓存参数,如key_buffer_size、table_open_cache等,以提高性能。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值