您当前位置:优侠库 > 资讯攻略 >
来源:未知
2019-11-22 09:34:15 浏览: 分类:资讯攻略

五个影响mysql性能的关键配置

下面这篇文章主要介绍与mysql性能密切相关的五个配置参数。前几天在相关网站上看到了与MySQL性能密切相关的五个配置参数的信息。我觉得挺好的,就拿出来给大家分享一下。希望你能有所收获。

(1)连接

该连接通常来自web服务器。以下是一些与连接相关的参数以及如何设置它们。

1、最大连接数

这是Web服务器允许的最大连接数。请记住,每个连接都必须使用会话内存(关于会话内存,将在本文后面介绍)。

2、最大允许数据包数

最大数据包大小通常等于您需要在一个大块中返回的最大数据集的大小。如果使用远程mysqldump,它的值需要更大。

3、中止_连接

检查系统状态计数器,确保它不会增加。如果数量增加,则客户端在连接时遇到了错误。

4、线程缓存大小

入站连接将在MySQL中创建一个新线程。因为在MySQL中打开和关闭连接既便宜又快速,所以它不像其他数据库(如oracle)那样有很多持久连接。但是,提前创建线程并不会节省时间,这也是需要MySQL线程缓存的原因。

如果它在增长,请密切关注创建的线程,并使您的线程缓存更大。对于2550或者100的thread_cache_size,内存使用量并不多。

(2)查询缓存

(3)暂定名单

内存相当快,所以我们希望所有排序操作都在内存中完成。我们可以通过调整查询在内存中进行排序,使结果集更小,或者将变量设置得更大。

tmp _表格_大小

最大堆表大小

每当在MySQL中创建一个临时表时,它都会使用这两个变量中的最小值作为临界值。除了在磁盘上建立一个临时表之外,还会创建很多会话,这些会话会抢占有限的资源,所以最好调整查询,而不是将这些参数设置得更高。同时,应该注意,具有BLOB或文本字段类型的表将被直接写入磁盘。MySQL双向复制技术浅释

(4)会话记忆

MySQL中的每个会话都有自己的内存,也就是分配给SQL查询的内存,所以你想让它尽可能大,以满足需求。但是您必须同时平衡数据库中一致会话的数量。这里看起来有点玄乎的是MySQL按需分配缓存。所以不能简单的把它们相加再乘以会话数,估计比MySQL的典型用法要大很多。

最佳做法是启动MySQL,连接所有会话,然后继续关注顶级会话的VIRT专栏。mysqld行数通常保持相对稳定,这是实际的总内存使用量。减去所有静态MySQL内存区域得到实际所有会话内存,然后除以会话数得到平均值。

1、读取缓冲区大小

缓存连续扫描的块。这个缓存跨存储引擎,而不仅仅是MyISAM表。

2、排序缓冲区大小

执行排序缓冲区的大小最好设置为1M-2M,然后在会话中设置,以便为特定查询设置更高的值。

3、连接缓冲区大小

执行联合查询,将分配的缓冲区大小设置为1M-2M,然后根据需要在每个会话中单独设置。

4、读取缓冲区大小

对于sorting和order by操作,最好将其设置为1M,然后可以将其设置为更大的值,作为会话中的会话变量。

(5)慢速查询日志

慢速查询日志是MySQL的一个非常有用的特性。

1、日志慢速查询

MySQL参数中的log_slow_queries参数是在my.cnf文件中设置的,设置为on。默认情况下,MySQL会将该文件放在数据目录中,并且该文件将以< Hostname-slow . log & quot;但是您也可以在设置该选项时为其指定一个名称。

2、长查询时间

默认值为10秒。您可以动态设置它,范围从1到on。如果数据库已启动,默认情况下将关闭日志。从5.1.21和安装了Google补丁的版本开始,这个选项可以在微秒内设置。这是一个很神奇的特性,因为一旦你消除了所有查询时间超过1秒的查询,调整就非常成功,可以帮助你在问题SQL变大之前将其消除。

3、日志查询不使用索引

打开这个选项是个好主意。它真实地记录了返回所有行的查询。

总结

我们介绍了MySQL参数的五种设置。通常,我们很少接触它们。这些参数在MySQL性能调优和故障诊断中仍然非常有用。

MySQL中的缓存查询包括两个解析的查询计划和返回的数据集。如果基础表的数据或结构发生变化,查询缓存中的项将无效。

1、查询_缓存_最小_资源_单位

MySQL参数中query_cache_min_res_unit的查询缓存中的块都是用这个大小分配的。使用以下公式计算查询缓存的平均大小。根据计算结果设置这个变量,MySQL会更有效的使用查询缓存,缓存更多的查询,减少内存的浪费。

2、查询缓存大小

此参数设置查询缓存的总大小。

3、查询缓存限制

这个参数告诉MySQL丢弃大于这个大小的查询。通常,大型查询很少出现,例如运行批处理来执行大型报告的统计,因此这些大型结果集应该不会填满查询缓存。

qcache命中率= q cache _ hits/(q cache _ hits+com _ select)

使用

SQL & gt显示状态,如& lsquoqcache % & rsquo;SQL & gt显示状态,如& lsquocom _ % & rsquo;

找出这些变量。

平均查询大小=(query _ cache _ size & ndash;q cache _ free _ memory)/q cache _ queries _ in _ cache

使用

SQL & gt显示变量,如& lsquo查询% & rsquo;qcache_*状态变量可以用SQL & gt显示状态,如& lsquoqcache % & rsquo;

获取query_cache_size的值。

以上相关内容是对MySQL性能有密切影响的五个重要配置参数的介绍。希望你能有所收获。

关键词:mysql

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227430.html

攻略资讯
安卓软件