日期:2014-05-17  浏览次数:20364 次

关于MYSQL的连接数和连接时间的问题

1、访问页面A.PHP,连接数据库,SLEEP5秒,没有其它任何操作了
2、使用的方式不是持久连接
3、连接超时设置为10秒


在没有主动去关闭连接的情况下,应该是10秒后连接才会关闭?但5秒后就自动关闭了。
为什么的?

1、大家一般是什么时候连接数据库的,只有在操作数据库的时候吗?
我的连接数据库是写在配置文件的,基本上一个页面会用到数据库,都在头部引入了,但访问该页面不一定要数据库操作。
也就是说只要有人访问该文件都会进行数据库连接(就算有时候不用进行数据库操作),这样的方式是不是不好?
MYSQL最大连接数为5000,如果有5000+人访问就会出问题?

2、另外问一个问题,导致访问一个静态页面很慢的原因有些?跟请求服务器的数量有关吗,JS、图片呢?

谢谢

------解决方案--------------------
1、连接超时设置为10秒,是说当10秒还未连接上数据库就不再尝试连接了
2、只在需要的时候连接数据库
3、MYSQL最大连接数为5000,表示5000+个客户端同时发出连接请求将出错
但web服务器可允许的并发连接是有限的,这种情况不会发生。中等规模的网站有10个证书就可以了
4、导致访问一个静态页面很慢的原因:单个目录中的文件数过多(>1000)
------解决方案--------------------
因为5秒过后a.php执行结束了,会释放所有资源包括mysql的连接

数据库连接只有5000+人同时访问才会有问题。
------解决方案--------------------
应该是 sql操作完 链接就会关闭,若 sql操作的时间超过10秒,mysql链接就会自动关闭的!