ERROR总结
ERROR总结
1.连接问题
Cannot get a connection, pool error Timeout waiting for idle object
解决:
排查思路: 1.检查是否应用压力过大,无法获取空闲连接 查看cpu、内存 查看tomcat的连接数(netstat -natp | grep ESTAB | grep PORT | wc -l) 2.检查应用是否很好的释放了连接(查看数据库的连接数) 数据库(可通过配置参数完成自动回收) 解决: 1.应用: acceptCount队列长度,默认100 maxConnections最大连接数;对于Java的阻塞式BIO,默认值是maxthreads的值,在BIO使用定制的Executor执行器:默认值是执行器中的maxthreads值;java新的NIO模式:默认值10000;如果设置为-1,则禁用maxconnections功能,表示不限制tomcat容器的连接数. maxThreads最大线程数,默认200;线程数的经验值为:1核2g内存为200,线程数经验值200;4核8g内存,线程数经验值800 maxConnections和acceptcount的关系为:当连接数达到最大值maxConnections后,系统会继续接收连接,但不会超过acceptCount的值. 2.数据库(oracle): 修改sqlnet.ora文件,新增expire_time=x(单位是分钟) create profile profileName limit connect_time 60 idle_time 30;创建profile文件,profileName任意起,connect_time设置连接超过多少分钟后强制释放,idle_time设置连续不活动的会话超过多少分钟后强制释放 参考链接:https://blog.csdn.net/weixin_39517560/article/details/111484161?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-2&spm=1001.2101.3001.4242
来源:https://www.cnblogs.com/fangweiming/p/14754993.html