Open yankj12 opened 6 years ago
要将一个文本文件中每一行读取出来保存到数据库,文本文件有20w行,java代码实现是每读取一行,获取一个session然后保存。
每次读取到1.6w的时候,就会报如上错误
使用mybatis的批量保存,每读取1000行数据,保存一次。减少短连接次数。
No buffer space available (maximum connections reached?): connect
因为程序只运行了几分钟,所以排除网上其他的说法。
有不当程序创建了大量的短连接,由于程序的不健壮,导致 SOCKET 处于忙碌或者 TIME_WAIT 状态,或者服务器和客户端有一方出现异常,而另一方没有得到通知,还在连接,持续不断的做写操作 (无大量Socket 连接,高峰时间有8-10个 TIME_WAIT 状态的连接)