Azure .NET5 MVC6 WebApi基本应用程序非常慢

时间:2016-04-09 17:22:12

标签: c# azure asp.net-web-api asp.net-core-mvc azure-web-sites

我最近开始开发.NET应用程序(特别是使用新的.NET 5)并且我遇到了一个奇怪的问题。当我创建一个模板WebApi应用程序(Project - > New - > ... - > ASP.NET 5 WebApi Application)并测量其性能时,结果证明它只是悲剧性的。

这是我正在查询的控制器:

[HttpGet]
public IEnumerable<string> Get()
{
    return new string[] { "value1", "value2" };
}

我在Release,1.0.0-rc1-update runtine下运行它并进行基准测试我使用了以下命令使用ApacheBench:

ab -n 500 -c 10 http://localhost:62066/api/values

这是500个并发等于10的请求。 并且服务器能够每秒返回惊人的...... 39个请求!当我将此类应用程序发布到Azure时,性能类似,但注册的最大CPU使用率约为15%,内存消耗停止在约50%。应用层为S1(标准1,1核,1.75GB RAM)。

我还在本地创建了超级简单的NodeJS服务器:

var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(port);

使用相同的ApacheBench设置,性能大约为1500请求/秒,与MVC6相比非常快。不幸的是,在将NodeJS发布到Azure之后,应用程序性能显着下降到每秒约40个请求,CPU利用率不超过15%,内存大约为50%。

是否有一些选项会阻止此类应用的完整性能?我忘记了一些设置吗?

感谢。

0 个答案:

没有答案