我目前正在使用Visual Studio和负载测试项目创建负载测试场景。
测试正在达到API端点
public async Task<bool> Index()
{
var user = await _repositoryFactory.UserRepository.GetUserAsync(userId);
}
方法GetUserAsync(userId);
只是运行一个检索用户的查询
public async Task<User> GetUserAsync(string id)
{
var query = $"Select * from user where u.id = '{id}'";
var user = await _query.RunQueryAsync<User>(query);
return user.First();
}
并且RunQueryAsync
方法看起来像
public async Task<IEnumerable<T>> RunQueryAsync<T>(string query)
{
using (var db = new NpgsqlConnection(_connectionString))
{
return await db.QueryAsync<T>(query);
}
}
我正在尝试测试数百个并发API命中。这是一个非常简单的场景。我收到以下错误
致命:抱歉,已有太多客户
我理解这个问题,但是有办法解决这个问题吗?我试图将最大连接数增加到1000但是如果并发连接增加到&gt; = 1000,我不仅会得到错误,我相信这不是最好的方法。
我想我可以为这个特殊的例外添加try / catch / retry
,但同样,这可能不是最好的方法。