影响mysql性能的关键配置有哪些

技术影响mysql性能的关键配置有哪些这篇文章给大家分享的是有关影响mysql性能的关键配置有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  (一)连接  连接通常来自Web服务器,下面

本文是关于影响mysql性能的关键配置。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。

(1)连接

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

1、最大连接数

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

2、允许最大数据包数

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

3、中止_连接

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

4、线程缓存大小

入站连接会在MySQL中创建一个新的线程,因为在MySQL中打开和关闭连接既便宜又快,而且它不像Oracle等其他应用程序那样有很多持久连接。但是提前创建线程并不会节省时间,这也是为什么需要MySQL线程缓存的原因。

如果在增长,请密切关注创建的线程,这样你的线程缓存会更大,对于2550或100的thread_cache_size,内存使用量不会很多。

(2)查询缓存

(三)临时表

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

tmp _表格_大小

最大堆表大小

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

(4)会话记忆

MySQL中的每个会话都有自己的内存,这是为SQL查询分配的内存,所以您希望使其尽可能大,以满足需求。但是您必须同时平衡数据库中一致会话的数量。这里的黑暗艺术是,MySQL按需分配缓存,所以你不能只是将它们相加,然后乘以会话数,这估计比MySQL的典型用法要大得多。

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

1、读取缓冲区大小

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

2、排序缓冲区大小

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

3、连接缓冲区大小

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

4、read_rnd_buffer_size

对于按操作排序和排序,最好将其设置为1M,然后可以将其设置为更高的值,作为会话中的会话变量。

(5)慢查询日志

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

1、日志_慢速_查询

MySQL参数中的log _ slow _ queries参数将其设置在my.cnf文件中,并将其设置为on。默认情况下,MySQL会将文件放在数据目录中,文件以“主机名-slow.log”的形式命名,但在设置该选项时也可以为其指定一个名称。

2、长查询时间

默认值为10秒。您可以将其从1动态设置为on。如果数据库已启动,日志将默认关闭。从5.1.21以及安装了Google patch的版本开始,这个选项可以以微秒为单位进行设置,这是一个了不起的功能,因为一旦消除了所有查询时间超过1秒的查询,就意味着调整非常成功,可以帮助你在问题变大之前消除问题SQL。

3、日志查询不使用索引

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

总结

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

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

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

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

少内存的浪费。

  2、query_cache_size

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

  3、query_cache_limit

  这个参数告诉MySQL丢掉大于这个大小的查询,一般大型查询还是比较少见的,如运行一个批处理执行一个大型报表的统计,因此那些大型结果集不应该填满查询缓存。

  qcache hit ratio = qcache_hits / (qcache_hits + com_select)

  使用

  SQL> show status like ‘qcache%’; SQL> show status like ‘com_%’;

  找到这些变量。

  average query size = (query_cache_size – qcache_free_memory)/qcache_queries_in_cache

  使用

  SQL> show variables like ‘query%’; qcache_* status variables you can get with: SQL> show status like ‘qcache%’;

  获取query_cache_size的值。

感谢各位的阅读!关于“影响mysql性能的关键配置有哪些”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/137949.html

(0)

相关推荐

  • 后来的英语,英语英语英语……要怎么学

    技术后来的英语,英语英语英语……要怎么学坚持读英文原著,慢慢啃,时间长一定有效果后来的英语。我们看英文原声电影太过于依赖中文字幕,建议直接读原文原著,这样日积月累养成习惯,慢慢就会有效果。比如这个英文原著在线阅读网站,读

    生活 2021年10月25日
  • 椭圆的周长计算公式,椭圆的周长计算公式怎么算

    技术椭圆的周长计算公式,椭圆的周长计算公式怎么算椭圆周长计算公式:L=T(r+R)T为椭圆系数,可以由r/R的值,查表找出系数T值;r为椭圆短半径;R为椭圆长半径椭圆的周长计算公式。椭圆周长定理:椭圆的周长等于该椭圆短半

    生活 2021年10月23日
  • JS如何实现圆形进度条拖拽滑动

    技术JS如何实现圆形进度条拖拽滑动JS如何实现圆形进度条拖拽滑动,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。效果展示半圆进度条效果圆形进度

    2021年10月20日
  • thinkphp6教程(thinkphp6实例教程)

    技术thinkphp6.0.7中如何使用JWT本篇内容介绍了“thinkphp6.0.7中如何使用JWT”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

    攻略 2021年12月15日
  • Python如何爬取猫咪网站交易数据

    技术Python如何爬取猫咪网站交易数据这期内容当中小编将会给大家带来有关Python如何爬取猫咪网站交易数据,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、前言看到可爱的猫咪表情包

    攻略 2021年10月26日
  • java中物流管理系统怎么实现(基于javaweb的物流配送系统)

    技术Java实现物流配送系统的示例分析今天就跟大家聊聊有关Java实现物流配送系统的示例分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。介绍系统分普通用户、企业

    攻略 2021年12月16日