2011-10-26 102 views
0

我一直在努力解决这个问题,但目前为止还没有。 我有使用MyISAM引擎的41个表的数据库。数据库的整体大小现在是96.7MB。MySQL性能调整

问题是“MySQL运行时信息”显示非常令人担忧的统计数据。它们是:

Handler_read_rnd = 1,495K

Handler_read_rnd_next = 51M

Created_tmp_disk_tables = 31K

opened_tables的= 217K

我已设置下列值:

的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 = 6 MB

我的服务器是运行带有6GB RAM的Linux。我重新启动了数据库服务器,以便MySQL服务器已运行2天,10小时,34分钟和14秒。

任何改善这些性能问题的建议?

还有一件事要问:table_cache = 800 < - 800是什么,KB或MB

回答

2

你确定你的my.cnf正在被使用吗?使用显示全局变量并确认您的设置实际上正在使用。

就800而言,这是将被缓存的表柄的数量。

根据您的设置和结果,我不得不怀疑您的设置未被授予。

顺便提一下,建立和调整大型MySQL系统(复数)多年后,我的个人建议是使用InnoDB。其中一个优点是不需要转动这种神秘和简单的旋钮即可获得合理的开箱即用特性和性能。

+0

+1 InnoDB建议。 –

+0

谢谢耶利米。是的,正在使用my.cnf文件。参数在该文件中定义。 所以如果我总共有41个表,80的值应该足够table_cache,对吧? –