加载测试WebAPI文件上载IIS 8.5失败

时间:2015-12-05 14:22:11

标签: file-upload asp.net-web-api load-testing iis-8.5

我在托管的WebAPI服务上运行300次用户负载10分钟[步骤加载每10秒添加10个用户]的负载测试:

  

CPU Intel E5-2665 @ 2.40 - 4 Core / RAM 16 GB / Windows 2012 R2 / IIS 8.5

我要上传的图片文件大小为500 KB,并使用Multipart / form-data将文件发布到WebAPI。

在WebAPI代码上,我使用await Request.Content.ReadAsMultipartAsync(provider)来避免线程阻塞。

在机器配置上修改以处理突发负载。 <processModel autoConfig="false" maxWorkerThreads="100" maxIoThreads="100" minWorkerThreads="15" minIoThreads="15" />

IIS队列长度设置为5000,单个工作进程[尝试多个,NUMA也为0]限制\连接超时180秒。

即使在用户数达到300之前,我开始收到波纹管错误,一旦达到300,错误就会增加。

  

Exception SocketException 26 An existing connection was forcibly closed by the remote host
Exception IOException 7 Unable to read data from the transport connection: The connection was closed

当添加的用户越来越少时,文件会在0.13秒内上传,但随着负载的增加,响应时间会急剧增加。

平均响应时间:5.72秒;
最短响应时间:0.13秒;
最长响应时间8.88秒。

请帮忙。 Load test response time

0 个答案:

没有答案