【发布时间】:2020-05-09 21:35:29
【问题描述】:
以下代码将数据批量插入 SQL Server 数据库:
sqlConnection.connectionPool.getConnection().then(pool => {
const request = pool.request();
request.bulk(table, (err, result) => {
if(err){
console.log('bulk insert error');
console.log(err);
reject(err);
return;
}
EXEC dbo.AddSurveyPoints @SurveyPointTable = @Table
DROP TABLE `+tableName+`;`;
request.query(exeProcedure, function(err, recordset){
if(err){
console.log('Error addSurveyPoints :' + err);
reject(err);
return;
}
fulfill(result);
});
});
})
代码运行没有错误。
但是在使用 jmeter 加载测试后,它会抛出这个错误:
资源请求超时
【问题讨论】:
-
你说“代码运行没有错误”是什么意思?它是在 JMeter GUI 还是 IDE 上?请详细说明“使用 jmeter 加载测试后”。这是否意味着您增加了一些负载,还是仅针对单个用户?
-
@MNavneetKrishna 当我在 jmeter 中以有限的请求进行测试时,假设 100 个线程(用户)它工作正常,但是当将线程数更改为 500 时,它开始抛出资源请求超时
-
我觉得这是容量的问题,而不是工具的问题。已配置的 DB 中的最大连接大小是多少?什么是定义的连接超时?另外,您是否注意到 ResourceRequest 在一段时间后甚至在用户增加时出现超时错误?
-
您真的需要以同步方式执行此操作吗?为什么不返回一些响应并在异步模式下执行批量操作?
标签: sql node.js sql-server bulkinsert timeoutexception