zoukankan      html  css  js  c++  java
  • 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之MySQL配置

    mysql高并发配置 要在mysqld下设置

    1、 修改back_log参数值:由默认的50修改为500.(每个连接256kb,占用:125M)

     back_log=500
    

    back_log值指出MySQL暂时回答新请求之前的短时间内有多少个请求可以被存在堆栈中。也就是说,如果MySQL的连接数达到max_connections时,新来的请求会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果

    等待连接的数量超过back_log,将不被授予连接资源。将会报 unauthenticated user | xxx.xx.xxx.xxx | NULL | Connect | NULL | login | NULL

    back_log值不能超过TCP/IP连接的侦听队列的大小。若超过则无效,查看当前系统的TCP/IP连接的侦听队列的大小的命令:cat/proc/sys/net/ipv4/tcp_max_syn_backlog

    (修改系统内核参数:http://www.51testing.com/html/64/n-810764.html)

    查看MySQL当前系统默认的back_log值,命令:show variables like 'back_log';

    2、修改wait_timeout 参数值,由默认的8小时,修改为30分钟(单位为 秒)。

     wait_timeout=1800
    

    这个参数可以理解为,MySQL客户端的数据库连接闲置最大时间值。就是你的MySQL连接闲置超过一定时间后会被强行关闭。MySQL的默认值为8小时,查看命令为

    show variables like 'wait_timeout'
    

    设置这个值可以节省内存资源,比如你的网站有大量的MySQL连接请求(每个MySQL连接都是要内存资源开销的),由于你的程序的原因有大量的连接请求空闲着啥事也不干,白白占用内存资源,或者导致MySQL超过最大连接数,无法新建

    连接导致“Too many connections”的错误。

    在设置之前,你可以查看一下你的MySQL的状态(可用 show processlist),如果经常发现MySQL中有大量的sleep进程,则需要修改 wait_timeout 。

    3、修改max_connections参数值,由默认的 151 改为 3000.

    max_connections=3000
    

    max_connections是MySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。当然这建立在机器能支撑的情况下,因为连接数越多,介于MySQL会为每个连接提供连接缓冲区,就会开销越多的内

    存。所以要适当调整该值,不能盲目提高设置。可以通过'conn%'通配符查看当前状态的连接数量,以定夺该值的大小。

    MySQL服务器允许的最大连接数为 16384.

    查看系统当前的最大连接数:

    show variables like 'max_connections';
    

    下一篇随笔总结一下并发测试工具ab

    本文参考的主要文章:

    mysql高并发配置

  • 相关阅读:
    第三节课 字符串拼接、格式化输出、深浅复制
    第四节课 集合、字典、运算符
    python-模块系列
    python正则表达式
    python第二天
    Python-第一天
    SQL SERVER 最近查询过的语句
    razor page 页面
    RAZOR显示表格数据
    邮件模板 C#
  • 原文地址:https://www.cnblogs.com/ccdv/p/13202822.html
Copyright © 2011-2022 走看看