您当前的位置: 首页 > 数据库教程 > MySQL教程 > 快速增加MYSQL数据库连接数负载能力

快速增加MYSQL数据库连接数负载能力

作者:不详 来源:网络 发布时间: 2014-07-20 21:24 点击:
第一先限制Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看机器压力,如果 非常大,先改成16让机器的压力下来,然后慢慢增达,适应自已的业务. 处理方法: set global innodb_thread_concurrency=16; 方法一: (window系统中可直接修改my.ini文

快速增加MYSQL数据库连接数负载能力

  第一先限制Innodb的并发处理.如果innodb_thread_concurrency = 0 可以先改成 16或是64 看机器压力,如果

  非常大,先改成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数据库连接数负载能力"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4