node mysql timeout_Node-Mysql throwing connection timeout

My node.js app gives 5xx due to connection timeouts at random times. Here's how I connect and query: var mysql = require('mysql'); var config = { host: '172.10.1.1', port: 3306, user: 'user', password: 'pwd', database: 'mydb', connectionLimit: 15, queueLimit: 30 } var poolCluster = mysql.createPool(config); var queryDB = function(query, cb) { poolCluster.getConnection(function(err, connection) { if(err) { cb(err, null); } else { connection.query(query, function (err, rows) { connection.release(); cb(err, rows); }); } }); };

Also, in another alternate version, with connection pooling disabled, the code looks like this: queryDB = function(query, cb) { var connection = mysql.createConnection(config); connection.query(query, function(err, rows) { connection.end(); cb(err, rows); }); };

But both the setups give Error: connect ETIMEDOUT at Connection._handleConnectTimeout

It would be great if you could point out what could be going wrong with the connections. Thanks.

UPDATE

Since the node.js service was running in cluster mode, I thought maybe a race condition across the threads to acquire mysql connection resource from the shared connection pool is the reason. So I switched off the cluster mode to single thread mode and connection timeouts stopped.

Still I'm not convinced it was the race condition causing this issue. Any way to verify this?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值