Я ищу улучшения производительности в нашем API.
У меня есть модульные тесты, которые вызывают мои действия на контроллере. Он полностью подключен к БД, так что это скорее интеграционный тест, чем простой модульный тест.
Когда я запускаю свой модульный тест, мой вызов занимает около 100 мс, но когда я вызываю действие от Почтальона, это занимает около 1700 мс.
Кто-нибудь сталкивался с этим раньше?
Наш человек, который обслуживает серверы, уже увеличил мощность.
Это дало некоторое улучшение, но мы хотим 600 мс или меньше.
после просмотра некоторых журналов
Я нашел
2019-06-05 20:27:06.306 +00:00 [Debug] Request successfully matched the route with name 'null' and template '"api/Invoice/{clientId}/{matterId}"'.
===> 2019-06-05 20:27:06.306 +00:00 [Information] Route matched with "{action = \"GetInvoicesForClientMatter\", controller = \"Invoice\"}". Executing action "Minisoft.Api.Controllers.API.InvoiceController.GetInvoicesForClientMatter (Minisoft.Api)"
===> 2019-06-05 20:27:06.306 +00:00 [Debug] Execution plan of "authorization" filters (in the following order): ["None"]
===> 2019-06-05 20:27:06.306 +00:00 [Debug] Execution plan of "resource" filters (in the following order): ["Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter"]
===> 2019-06-05 20:27:06.306 +00:00 [Debug] Execution plan of "action" filters (in the following order): ["Microsoft.AspNetCore.Mvc.Infrastructure.ModelStateInvalidFilter (Order: -2000)", "Microsoft.AspNetCore.Mvc.ModelBinding.UnsupportedContentTypeFilter"]
===> 2019-06-05 20:27:06.306 +00:00 [Debug] Execution plan of "exception" filters (in the following order): ["None"]
===> 2019-06-05 20:27:06.306 +00:00 [Debug] Execution plan of "result" filters (in the following order): ["Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter"]
===> 2019-06-05 20:27:12.369 +00:00 [Debug] Attempting to bind parameter '"clientId"' of type '"System.String"' ...
выглядит как план выполнения фильтров «результата» (в следующем порядке): ["Microsoft.AspNetCore.Mvc.ViewFeatures.Internal.SaveTempDataFilter"]
занимает 6 секунд, чтобы решить
Есть ли идеалы?
Google не очень помог: (