最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

快速增加MYSQL数据库连接数负载能力的方法分享

来源:动视网 责编:小采 时间:2020-11-09 21:06:31
文档

快速增加MYSQL数据库连接数负载能力的方法分享

快速增加MYSQL数据库连接数负载能力的方法分享:第一先Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是 看机器压力,如果非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.处理方法: set global innodb_thread_concurrency=16; 方
推荐度:
导读快速增加MYSQL数据库连接数负载能力的方法分享:第一先Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是 看机器压力,如果非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.处理方法: set global innodb_thread_concurrency=16; 方


第一先Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是 看机器压力,如果
非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.
处理方法: set global innodb_thread_concurrency=16;


方法一: (window系统中可直接修改my.ini文件)

进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可

方法二: (在mysql命令模式下)

对于连接数已经超过600或是更多的情况,可以考虑适当的一下连接数,让前端报一下错,也别让DB挂了.
DB在了,总是可以用来加载一下数据,当数据加载到了nosql里了,慢慢的DB压力也会降下来的.
单用户连接数在500以下. 如:
set global max_user_connections=500;

(MySQL随着连接数的增加性能会是下降的,这也是thread_pool出现的原因)
另外对于有的监控程序会读取information_schema下面的表的程序可以考虑关闭下面的参数
innodb_stats_on_metadata=0
set global innodb_stats_on_metadata=0;


方法

MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppassword
设置新的最大连接数为200:mysql> set GLOBAL max_connections=200
显示当前运行的Query:mysql> show processlist
显示当前状态:mysql> show status
退出客户端:mysql> exit
查看当前最大连接数:mysqladmin -uusername -ppassword variables


这个参数主要防止对读取information_schema时造成大量读取磁盘进行信息统计(如果慢查询中出现关于information_schema中表时,也可以考虑禁用该参数)


处理依据:

当学校的一个食堂一分钟只能为两个打饭, 忽然来了100个时人来打饭,又没排队, 不出会现了打饭的师傅要用点时间
去选择为那个用户服务了, 人越多,场面就越乱, 难免出现用户大吼该他的场面, 最后有可能就出现不是打饭了,而时之间相互
打架了,打饭的师傅也将收到同时有90个以上的Server too busy. 如果能排一下队.最多也就50分钟能处理完了

方法三: (linux中得新编译mysql)

以centos 4.4 下面的mysql 5.0.33 手工编译版本为例说明:
vi /usr/local/mysql/bin/mysqld_safe
找到safe_mysqld编辑它,找到mysqld启动的那两行,在后面加上参数:
-O max_connections=1500
具体一点就是下面的位置:
用红字特别说明:
then $NOHUP_NICENESS $ledir/$MYSQLD
$defaults --basedir=$MY_BASEDIR_VERSION
--datadir=$DATADIR $USER_OPTION
--pid-file=$pid_file
--skip-external-locking
-O max_connections=1500
>> $err_log 2>&1 else
eval "$NOHUP_NICENESS $ledir/$MYSQLD
$defaults --basedir=$MY_BASEDIR_VERSION
--datadir=$DATADIR $USER_OPTION
--pid-file=$pid_file
--skip-external-locking $args
-O max_connections=1500 >>
$err_log 2>&1"
保存。
# service mysqld restart
# /usr/local/mysql/bin/mysqladmin -uroot -p variables
输入root数据库账号的密码后可看到
max_connections 1500 即新改动已经生效。

您可能感兴趣的文章:

  • 修改MYSQL最大连接数的3种方法分享
  • 如何增加mysql的最大连接数
  • MySql状态查看方法 MySql如何查看连接数和状态?
  • MySQL连接数超过的解决方法
  • mysql优化连接数防止访问量过高的方法
  • python使用mysqldb连接数据库操作方法示例详解
  • 总结MySQL修改最大连接数的两个方式
  • 文档

    快速增加MYSQL数据库连接数负载能力的方法分享

    快速增加MYSQL数据库连接数负载能力的方法分享:第一先Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是 看机器压力,如果非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务.处理方法: set global innodb_thread_concurrency=16; 方
    推荐度:
    标签: 分享 连接数 mysql
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top