TA的每日心情 | 衰 3 天前 |
---|
签到天数: 1646 天 [LV.Master]伴坛终老
|
配置MySQL最大连接数的方法:
1.进入mysql数据更改:
show variables like ‘%max_connections%’; 查看最大连接数
set global max_connections=512; 配置更改最大连接数
mysql> show status like ‘Threads%’; 查看当前连接数
Threads_cached: 代表当前此时此刻线程缓存中有多少空闲线程。
Threads_connected: 代表当前已建立连接的数量,可以理解为当前被使用的线程数。
Threads_created: 代表从最近一次服务启动,已创建线程的数量。
Threads_running : 代表当前激活的(非睡眠状态)线程数。(并不是代表正在使用的线程数,有时候连接已建立,但是连接处于sleep状态,这里相对应的线程也是sleep状态。)
正常的话: Threads_running的数值 远低于Threads_connected的数值
2.进入mysql的my.conf进行添加
max_connections = 512
注意:数据库当前的连接线程数threads_connected。这是动态变化的。查看max_connections,如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现报错信息。因为创建和销毁数据库的连接,都会消耗系统的资源。而且为了避免在同一时间同时打开过多的连接线程,现在编程一般都使用所谓数据库连接池技术。但数据库连接池技术,并不能避免程序错误导致连接资源消耗殆尽。这种情况通常发生在程序未能及时释放数据库连接资源或其他原因造成数据库连接资源不能释放。该错误的简便的检查办法是,在刷新页面时,不断监视threads_connected的变化。如果max_connections足够大,而 threads_connected值不断增加以至达到max_connections,那么,就应该检查程序了。当然,如果采用数据库连接池技术, threads_connected增长到数据库连接池的最大连接线程数时,就不再增长了。
|
|