我想知道是否有人能为我指出一个MySQL数据库调优的工具/方法。
实际上,my.cnf的调优如下所示:
我的数据库引擎是MyISAM \ Mysql 5.1.73
我的电脑是:
Intel(R) Xeon(R) CPU E5620 @ 2.40GHz, 16 cores
Linux 2.6.32-5
Memory - 23.58 GB total我也看过慢速查询,但是您认识或推荐什么呢?
我已经做出了选择:
SELECT
CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1))
recommended_key_buffer_size FROM
(SELECT LEAST(POWER(2,32),KBS1) KBS
FROM (SELECT SUM(index_length) KBS1
FROM information_schema.tables
WHERE engine='MyISAM' AND
table_schema NOT IN ('information_schema','mysql')) AA ) A,
(SELECT 2 PowerOf1024) B;3967 M
发布于 2014-08-07 15:34:57
没有办法,只有旅途!您可以使用这里启动MySQLTuner --这是一个发出建议的调优脚本--它不会修改服务器上的任何内容,而且我已经看到(无法找到ref,对不起),它对运行时性能的影响是最小的。还有这 --但它似乎已经死了。
我将重复MySQLTuner附带的警告:
对您来说,充分了解对MySQL数据库服务器所做的每一项更改是非常重要的。如果您不理解脚本输出的部分内容,或者您不理解建议,则应该咨询您信任的知识渊博的DBA或系统管理员。始终在暂存环境上测试您的更改,并且始终记住,在一个领域的改进可能会对其他领域的MySQL产生负面影响。
有很多关于MySQL的书--目前最受推荐的书是Schwartz等人的高性能SQL。对数据库的持续监视与调优一样重要,因此当事情开始出错时,您至少可以开始将手指指向正确的方向。
另一件非常重要的事情是,您的MySQL数据库只是系统的一部分,使用Linux为iostat、vmstat、sysstat &c提供的工具监视该系统的各个组件也是至关重要的。
你说:
我也看过慢速查询,但是您认识或推荐什么呢?
但是我们没有查询,没有表(显示CREATE blah1,blah2.)--因此很难在这方面提供帮助。这个网站更多的是关于技术问题的具体问题,而不是更广泛的问题,你可以从研究一篇文章中得到更好的答案。
编辑回应OP的评论。
看看施瓦茨的书“这里”的目录。你会发现这是一本很大的书,有很多关于MySQL的内容。更重要的是,它将数据库放在系统的上下文中。如果没有更多的信息,我无法判断,但是您可能需要更改key_buffer_size,或者您的问题可能与该特定变量无关。
首先,我有两个建议--第一,升级到5.6。然后,您就可以获得性能模式( Performance ),允许您正确地分析应用程序--在进行分析之后,您可以继续进行调优。分析是确定您的系统花费时间的地方(在一个不确定的级别上)--一旦您知道了这一点,您就可以对您的调优工作做出合理的逻辑决定--可能是MySQL变量--它可以是增加内存、CPU、磁盘吞吐量或网络带宽(与我前面提到的操作系统分析一起)。
其次,我建议你把你的系统移动到InnoDB --它更好地利用了机器的资源,而且几乎在所有方面都更好--在谷歌上搜索"innodb vs myisam“会给你一卡车链接--看看吧。MyISAM正在接近生命的尽头--请看比尔·卡温和摩根·托克尔的评论--这两位都是MySQL世界的大人物。
然后,读一读我推荐的书(是的,我知道,呻吟.)如果你有更具体的问题,请在这里发帖。
免责声明:在生产系统上执行这些更改之前,通常关于测试更改的警告是适用的!
发布于 2017-10-20 16:08:25
您对MySQLCalculator.com的使用将是您在优化系统的第一步中可以投资的最好的2分钟。仅使用大于默认值的值,前提是您知道这些值将如何改进您对MySQL的使用。
https://dba.stackexchange.com/questions/73413
复制相似问题