一种解决过多MySQL句柄的方法
在Windows上安装MySQL,并使用官方配置向导生成my.ini。这个想法很稳定。超过10小时后,系统反应非常缓慢。在查看了资源管理器的性能卡后,发现句柄的数量已经达到了10万,无论程序卡是什么,都是不足为奇的。网上搜索,可能说innodb_buffer_pool_size默认8m太大了,但我已经跳过InnoDB。
然后我看到了一套innodb_flush_log_at_trx_commit
innodb_flush_log_at_trx_commit(这是很有用的)
抱怨会比MyISAM慢100倍吗所以你可能忘记调整值。1意味着每个事务提交或交易指令需要写日志的默认值(冲洗)硬盘,这是time-consuming.in特别,当电池备份缓存使用。设置2的大量使用,特别是从MyISAM表,是好吧。这意味着不写入硬盘,写入系统缓存,日志仍然会冲到每秒硬盘,所以你通常不会失去超过1-2秒更新。0会更快一点,但安全性差,即使MySQL挂,这可能失去交易数据。数据的值是2,只有当整个操作系统挂。
后来,它被设置为innodb_flush_log_at_trx_commit = 2。
重新启动MySQL服务非常好,而且句柄的数量最终保持在2万左右,处于稳定状态,而其他程序则快得多。
看来,在配置文件中,即使使用InnoDB跳过内存和磁盘IO即使它掉了。看来MySQL的配置仍然需要手动研究,它不能完全依赖于它自己的配置工具。
总结,InnoDB类型库,设置innodb_flush_log_at_trx_commit 2可以提高MySQL的性能和解决过度处理问题。
以上就是解决过多使用mysql句柄的方法。我们希望能给您提供一个参考,并进一步了解MySQL语法。你可以关注mysql 5.1参考手册,希望你能支持它。