我一直在努力解决这个问题,但到目前为止我做不到。我有使用MyISAM引擎的41个表的数据库。现在数据库的总体大小是96.7MB。
问题是"MySQL运行时信息“显示了非常惊人的统计数据。它们是:
Handler_read_rnd =1,495 K
Handler_read_rnd_next =5100万
Created_tmp_disk_tables = 31K
Opened_tables =217 K
我设定了以下价值:
key_buffer_size = 768 MB
query_cache_size = 40 MB
table_cache = 800
tmp_table_size = 64 MB
sort_buffer_size = 20 MB
read_rnd_buffer_size =6MB
我的服务器正在运行6GB RAM的Linux。我重新启动了db服务器,因此MySQL服务器已经运行了2天、10小时、34分钟和14秒。
有改善这些性能问题的建议吗?
还有一件事要问: table_cache = 800 <- 800是什么,KB还是MB?
发布于 2011-10-26 14:19:50
你确定你的my.cnf被使用了吗?使用显示全局变量,并验证您的设置是否实际被使用。
就800而言,这就是将要缓存的表句柄的数量。
鉴于您的设置和结果,我不得不怀疑您的设置没有得到尊重。
顺便提一下,在构建和调整大型MySQL系统(复数)多年之后,我个人的建议是使用InnoDB。其中的优点之一是不需要转动如此神秘和简单的旋钮,以获得合理的开箱行为和性能。
https://stackoverflow.com/questions/7903809
复制相似问题