【问题标题】:Can increasing Mysql variables tmp_table_size and max_heap_table_size crash a VPS?增加 Mysql 变量 tmp_table_size 和 max_heap_table_size 会导致 VPS 崩溃吗?
【发布时间】:2014-01-20 08:02:27
【问题描述】:

由于 MySql 将临时表复制到磁盘,我的网站性能非常缓慢。

增加 tmp_table_size 和 max_heap_table 大小解决了这个问题。 VPS 有 1.5 GB 内存。我可以安全地将这些变量设置多高?

【问题讨论】:

    标签: mysql database-performance temp-tables


    【解决方案1】:

    请记住,每个线程都可以在内存中拥有自己的临时表(如果您有极其复杂的查询,甚至可以有多个临时表),因此您可能会遇到内存使用高峰。

    如果你将 tmp_table_size 和 max_heap_table_size 增加太多,你可能会迫使 mysqld 进程交换到虚拟内存,这不会比你原来临时表进入磁盘的问题更好。

    您不需要使 tmp_table_size 等于您将创建的最大临时表,您只需要它足够大,以便大多数临时表保留在 RAM 中。

    我建议适度增加这些配置变量,然后监视SHOW GLOBAL STATUS LIKE 'Created_tmp_disk_tables' 以查看该状态指示器的增加率是否降低。

    您可以使用pt-mext 之类的工具来监控状态变量的变化率,或者使用带有Percona Monitoring Plugins 的Cacti 进行监控。

    【讨论】:

      猜你喜欢
      • 2012-10-26
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      相关资源
      最近更新 更多