thinkjs
thinkjs copied to clipboard
压力测试,并发时会导致数据库连接中断,Error: read ECONNRESET
压力测试,50并发时会导致数据库连接中断
ENV
OS Platform:centOS7.5
Node.js Version:8.9
ThinkJS Version:3.0
code
exports.model = {
type: 'mysql',
common: {
logConnect: isDev,
logSql: isDev,
logger: msg => think.logger.info(msg)
},
mysql: {
handle: mysql,
database: 'xxx',
prefix: '',
encoding: 'utf8',
charset:'UTF8MB4_GENERAL_CI',
host: 'xxx',
port: '',
user: 'root',
password: 'root',
connectionLimit:10,
dateStrings: true
}
};
error message
Error: read ECONNRESET
at _errnoException (util.js:1024:11)
at TCP.onread (net.js:615:25)
more description
进行并发压力测试时,但并发达到40-50时,项目会中断与数据库的连接,数据库使用的时mysql,有什么方法能捕捉这种情况并重新连接上数据库
@welefen 可有什么方法能解决
@junieHF 没遇到这种情况。你直接用代码连接 mysql(用 mysql 库),然后压测试试,看有没有这个情况。
直接用jmeter对数据库压测都正常。。。
@junieHF 用阿里云的docker部署的吗?之前我用了也是出现这个问题
@vjzning 不是docker,就是阿里云的centOs系统,pm2管理的
@welefen 针对这种情况可有什么方法能解决这个问题?原因暂时没有时间来查了
@junieHF 用阿里云的docker部署的吗?之前我用了也是出现这个问题
那你现在可解决了这个问题?请教下
@junieHF 我是去掉docker,用pm2管理就好了。
@junieHF 建个干净的项目,然后写个接口只连数据库压测看看呢?