zoukankan      html  css  js  c++  java
  • 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是没有意义的。

    http://www.php1.cn/article/8841.html

  • 相关阅读:
    程序员职业路线图
    程序员职业路线图
    高级程序员和低级程序员的区别
    高级程序员和低级程序员的区别
    高级程序员和低级程序员的区别
    使用fastai完成图像分类
    hibernate JPA
    mongodb增删改查
    【树莓派从入门到入土】1.什么是树莓派?
    输入一个url之后到底发生了什么
  • 原文地址:https://www.cnblogs.com/seasonzone/p/4349741.html
Copyright © 2011-2022 走看看