首先,我们来查看mysql的最大连接数:
其次,查看服务器响应的最大连接数:
在这里我们可以看到服务器响应的最大连接数为2,远远低于mysql服务器允许的最大连接数值。我们来算一下比例,2/150 ~=1.55%,这么小的比例,很明显给服务器在面对大批量的请求连接时会出现崩溃状态,失去响应。
对于mysql服务器最大连接数值的设置范围比较理想的是:服务器响应的最大连接数值占服务器上限连接数值的比例值在10%以上,如果在10%以下,说明mysql服务器最大连接上限值设置过高。
我们来修改一下
这里的最大连接数占上限连接数的30%左右。
上面我们知道怎么查看mysql服务器的最大连接数值,并且知道了如何判断该值是否合理,下面我们就来介绍一下如何设置这个最大连接数值。
下面看看cnf文件
【一】尝试以下解决方法:
在命令行中输入services.msc 找到mysql,关闭重启;
找到my.ini或者my.cnf文件,在[mysqld]下加上max_connections=1000,然后重启mysql;
删除没用的连接。登陆到mysql的提示符下,数据show processlist这个命令,可以得到所以连接到这个服务器上的mysql连接
修改mysql配置文件/etc/my.cnf,设置成max_connections=1000,wait_timeout=5。
检查程序代码,对于没有关闭的链接及时进行关闭
【二】可能引起问题的原因
连接池配置的太小;
其他应用连接了mysql之后没有释放连接;
连接数超过了 MySQL 设置的值,wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。
这条错误信息是报告:SQL数据库当前的用户连接数太多。
根据 X/Open 和 SQL Access Group SQL CAE 规范 (1992) 所进行的定义,SQLSTATE 值是包含五个字符的字符串,五个字符包含数值或者大写字母, 代表各种错误或者警告条件的代码。
SQLSTATE有个层次化的模式:头两个字符标识条件的通常表示错误条件的类别, 后三个字符表示在该通用类中的子类。成功的状态是由 00000 标识的。SQLSTATE 代码在大多数地方都是定义在 SQL 标准里的。
扩展资料:
SQL作为一种 *** 作命令集, 以其丰富的功能受到业内人士的广泛欢迎, 成为提升数据库 *** 作效率的保障。SQL Server数据库的应用,能够有效提升数据请求与返回的速度,有效应对复杂任务的处理,是提升工作效率的关键。
由于SQL Servers数据库管理系统具有较高的数据管理性能,因其优越的性能,应用范围非常广,大量应用于服务器和客户体系结构中。SQL Servers数据库的性质主要由以下几个方面体现:系统的吞吐量、响应时间以及并行处理能力, 发出请求服务器回应的速度、还有不同屏幕之间切换的速度等等。
参考资料来源:百度百科-SQL数据库
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)