开发者社区> yaohong> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

openstack中数据库连接数太多--pymysql.err.OperationalError,1040, u'Too many connections'

简介: 1.出现问题: openstack运行过程中出现如下问题: OperationalError: (pymysql.err.OperationalError) (1040, u'Too many connections') DBConnectionError: (pymysql.
+关注继续查看

1.出现问题:

openstack运行过程中出现如下问题:

OperationalError: (pymysql.err.OperationalError) (1040, u'Too many connections')

DBConnectionError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'controller' ([Errno 111] ECONNREFUSED)") [SQL: u'SELECT 1']

2.查看 mysql 状态

 2.1查看 mysql 的最大连接数

mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name  | Value  |
+-----------------+-------+
| max_connections | 214   |
+-----------------+-------+
1 row in set (0.00 sec)

2.2 查看服务器响应的最大连接数

mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name    | Value     |
+----------------------+-------+
| Max_used_connections | 215   |
+----------------------+-------+
1 row in set (0.00 sec)

对于 mysql 服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在 10% 以上,如果在 10% 以下,说明 mysql 服务器最大连接上限值设置过高。

Max_used_connections / max_connections * 100%

 

这的服务器响应的最大连接数已经达到了 mysql 的最大连接数的最大值

3.问题分析

3.1 max_connections

MySQL无论如何都会保留一个用于管理员(SUPER)登陆的连接,用于管理员连接数据库进行维护操作,即使当前连接数已经达到了max_connections。因此MySQL的实际最大可连接数为 max_connections+1

这个参数实际起作用的最大值(实际最大可连接数)为16384,即该参数最大值不能超过16384,即使超过也以16384为准; 增加max_connections参数的值,不会占用太多系统资源。系统资源(CPU、内存)的占用主要取决于查询的密度、效率等; 该参数设置过小的最明显特征是出现”Too many connections”错误;

3.2 mysql 最大连接数 214 问题

如果我设置连接小于214时,比如 200,那么实际连接数就是 200,也就是说,我的配置文件是没有问题的。

查 MySQL 官方文档,里面说了

The maximum number of connections MySQL can support depends on the quality of the thread library on a given platform, the amount of RAM available, how much RAM is used for each connection, the workload from each connection, and the desired response time. Linux or Solaris should be able to support at 500 to 1000 simultaneous connections routinely and as many as 10,000 connections if you have many gigabytes of RAM available and the workload from each is low or the response time target undemanding. Windows is limited to (open tables × 2 + open connections) < 2048 due to the Posix compatibility layer used on that platform.

Increasing open-files-limit may be necessary. Also see Section 2.5, “Installing MySQL on Linux”, for how to raise the operating system limit on how many handles can be used by MySQL.

大概意思是 MySQL 能够支持的最大连接数量受限于操作系统,必要时可以增大 open-files-limit。换言之,连接数与文件打开数有关。

4 问题解决

更改 MySQL 在 Linux 的最大文件描述符限制,编辑/usr/lib/systemd/system/mariadb.service文件,在文件[Service]下添加:

LimitNOFILE=65535
LimitNPROC=65535

 

保存后,执行下面命令,使配置生效

# systemctl daemon-reload
# systemctl restart  mariadb.service

 

问题解决

MariaDB [(none)]> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 4096  |
+-----------------+-------+

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
strange behavior:why u31000 is accessed for Extension project
Created by Wang, Jerry, last modified on May 20, 2015
34 0
***远程连接MYSQL提示Host is not allowed to connect to this MySQL server
如果你想连接你的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 1。
6074 0
MySQL远程连接ERROR 2003 (HY000) Cant connect to MySQL server on (10060)
MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX' (10060)的问题 D:\Users\xiaomaimiao>mysql -uroot -plhr -h192.
4177 0
Starting MySQL.Manager of pid-file quit without updating file.[FAILED]
<p>Starting MySQL...... ERROR! Manager of pid-file quit without updating file.</p> <p><br></p> <p>可选拍错思路:</p> <p><span style="color:#ff0000">my.cnf 配置文件参数错误。</span></p> <div id="paperTitleArea
2154 0
Mysql远程连接 Host * is not allowed to connect to this MySQL server
Mysql远程连接 Host * is not allowed to connect to this MySQL server 解决办法:在本机登入mysql后,选择用户,修改你远程链接的用户的主机,从 localhost 改为 %  博客内容仅代表个人观点,如发现阐述有误,麻烦指正,谢谢!
1067 0
+关注
yaohong
云计算
127
文章
1
问答
文章排行榜
最热
最新