热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Mysql和网络连接相关的参数介绍

同时还需要注意OS级别的网络监听队列的限制。因为如果OS的网络监听设置小于mysql的back_log设置的时候,我们加大back_log是没有意义的

max_conecctions:整个mysql允许的最大连接数

这个参数主要影响的是整个mysql应用的并发处理能力。

当系统中实际需要的连接量大于max_conecctions的情况下,由于mysql的设置限制,那么应用中必然会产生连接请求的等待。

一般来说,只要mysql主机性能允许,应该将该参数设置的尽量大一点,一般500-800左右是一个比较合适的参考值。

==========================================================================================

max_user_connections:每个用户允许的最大连接数

该参数针对单个用户的连接限制。

在一般情况下我们很少使用这个限制,只有在一些专门提供mysql数据存储服务或者提供虚拟主机的应用中可能用到。

==========================================================================================

net_buffer_length:网络包传输中,传输消息之前的net buffer初始化大小

该参数主要可能影响的是网络传输的效率。

由于该参数所设置的只是消息缓冲区的初始化大小,所以造成的影响主要是当我们的每次消息都很大的时候,mysql总是需要多次申请扩展该缓冲区大小。

系统默认大小为16KB,一般来说可以满足大多数场景。当然如果我们的查询都是非常小,每次网络传输量都很小,而且系统内存又比较紧缺的情况下,也可以适当将该值改为8KB。

==========================================================================================

max_allowed_packet:网络传输中,一次消息传输量的最大值

该参数与net_buffer_length相对应,只不过是net buffer的最大值。

当我们的消息传输量大于net_buffer_length的设置时,mysql会自动增大net buffer的大小,直到缓冲区大小达到max_allowed_packet所设置的值。

系统默认值为1MB,最大值是1GB,必须设定为1024的倍数,单位为字节。

==========================================================================================

back_log:在mysql的连接请求等待队列中允许存放的最大连接数

连接请求队列,实际上是指当某一时刻客户端的连接请求数量过大的时候,mysql主线程没办法及时给每一个新的连接请求分配(或者创建)连接线程的时候,还没有分配到连接线程的所有请求都将存放到一个等待队列中,这个对了就是mysql的连接请求队列。

当我们的系统存在瞬间的大量连接请求时,应该注意back_log参数的设置。

系统默认值是50,最大可以设置为65535。

同时还需要注意OS级别的网络监听队列的限制。因为如果OS的网络监听设置小于mysql的back_log设置的时候,我们加大back_log是没有意义的。


推荐阅读
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨了如何通过调整InnoDB的关键配置参数来优化MySQL的随机IO性能,涵盖了缓存、日志文件、预读机制等多个方面,帮助读者全面提升数据库系统的性能。 ... [详细]
  • 本文详细介绍如何下载并安装MySQL数据库(5.7.10版本),以及配置Navicat管理工具(免费版)。通过本指南,您将了解从下载到安装的完整流程,并掌握基本的数据库管理技能。 ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 本文探讨了在处理大量物联网设备时,如何合理设计关系型数据库来高效记录设备的上下线历史,确保数据的可维护性和扩展性。 ... [详细]
  • MySQL 用户创建失败的解决方案
    本文详细介绍了在 MySQL 中遇到用户创建失败问题时的解决方法,包括如何正确配置环境、执行命令以及常见错误排查技巧。通过逐步指导,帮助用户顺利添加和管理 MySQL 用户。 ... [详细]
  • 本文详细介绍了如何通过命令行启动MySQL服务,包括打开命令提示符窗口、进入MySQL的bin目录、输入正确的连接命令以及注意事项。文中还提供了更多相关命令的资源链接。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 本文详细介绍了如何使用ActionScript 3.0 (AS3) 连接并操作MySQL数据库。通过具体的代码示例和步骤说明,帮助开发者理解并实现这一过程。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了 MySQL 的查询处理流程,包括从客户端连接到服务器、查询缓存检查、语句解析、查询优化及执行等步骤。同时,深入探讨了 MySQL 中的乐观锁机制及其在并发控制中的应用。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
author-avatar
手机用户2502927973
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有