问题现象:
业务通过域名访问生产环境反馈有时候正常,有时候特别卡,页面一直没有响应。
问题分析:
生产环境应用服务器有6个节点,通过应用服务器访问,逐个排查,发现有台服务器反应很慢。页面报错为:
Connection not available;time out waiting for 180,000 seconds.
业务通过域名访问,F5随机转发,如转发到有问题的应用服务器上,跟业务反馈的现象一致。
报connection连接超时,有以下可能:
- 1、数据库宕机,连接不上;
- 2、应用服务器中数据库连接池无可用连接;
目前其他应用服务器连接的是同一个数据库,且能够正常使用,因此可以排除第一种可能;
查看数据库连接池连接情况,目前FreePoolSize(可用连接)为0,PoolSize(连接池连接)只有10;
因此可以判断是第二种可能。
解决方案:
- 1、增加连接池连接;
虽然目前是因为连接数太少,导致缺少可用连接。但也不能盲目扩大。
跟DBA沟通,结合目前数据库连接负载情况,建议连接池设置的值为20-100。又因为有6台应用服务器,因为调整连接池连接数为20;
- 2、查看是否有没有关闭的连接,以及是否存在慢sql;
查看sql session,发现确实有部分sql一直在执行,因为数据量太大,没有执行完毕。联系业务以及DBA,先kill掉session,并拉取sql对其优化。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END