Сегодня я запускал произвольный эталонный тест для пустого веб-приложения .NET Core и был разочарован тем, насколько низкими были числа запросов / запросов. Я видел примеров онлайн, где люди получают 50-60 тыс. Запросов / с, некоторые сумасшедшие, как 1,15 млн. Запросов / с, и мои часы находятся в диапазоне 1-2,5 тыс.
Технические характеристики моей машины:
Код:
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using System.IO;
namespace NetCore
{
public class Startup
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
public void ConfigureServices(IServiceCollection services)
{
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}
}
}
Который я запускаю, используя конфигурацию release , нацеленную на netcoreapp2.1
:
dotnet publish -c release -f netcoreapp2.1
И я использую Bombardier для бенчмаркинга:
bombardier http://localhost:5000 -c 250 -d 30s
Результаты:
Просто интересно, упускаю ли я что-то здесь очевидное. Или делать что-то не так.
Чтобы отследить, я выложил выпуск на GitHub.