公司网站架构
php+apache+oracle,分内网和外网,共享一个数据库
一直以为apache是共享一个数据库连接,困惑于为什么在v$session中只是查到了外网的n个apache.exe连接,而内网却始终没有捕捉到。
记录下最新发现
http.conf里采用参数
KeepAlive=on 表示共享连接结合KeepAliveTimeOut使用。即同一个connection在KeepAliveTimeOut时间内发起n次request都共享一个session,如果超过则创建新的连接。进一步说,
如果KeepAliveTimeOut设置的时间过短,例如设置为1秒,那么APACHE就会频繁的建立新连接,当然会耗费不少的资源;反过来,如果
KeepAliveTimeOut设置的时间过长,例如设置为300秒,那么APACHE中肯定有很多无用的连接会占用服务器的资源,也不是一件好事。
持续观察v$session,发现会新增apache连接,然后几秒后再次查询又消失,验证了上面的猜想。
进一步,网站连接偶尔有超过max process的现象,可以推测可能是当时网站连接速度过慢,客户频繁刷新导致不断建立新的session。
另外,apache的日志过大可能也会影响。
阅读(722) | 评论(0) | 转发(0) |