在ASP.NET Core 2.2中,我有一个基于HttpSys
自托管的文件上传方法。我有一个负载测试实用程序,可以启动10个并发连接并上传大文件。它可以在我的工作站(24个CPU内核)上正常工作-所有10个请求都并行执行。
当我将其放在小型VM(2个内核,Win Server 2012R2)上时,它将10个请求排队,然后一次执行2个。
我的问题:如何增加并发处理的请求数量?
我尝试了ThreadPool.SetMinThreads(10,10)
,但没关系。
这是我的代码(简体):
[HttpPut]
public async Task<actionResult> Put(string partition,string guid)
{
var path = GetPath(partition,guid);
if (System.IO.File.Exists(path))
return Status(409,"File already exists");
using (var file = new FileStream(path,FileMode.Create,Fileaccess.Write,FileShare.Read,4096,true))
{
await Request.Body.CopyToAsync(file);
return Status(200,"");
}
}