сравнение времени звонка почтальона веб-API против модульного тестирования - PullRequest
0 голосов
/ 03 июня 2019

Я ищу улучшения производительности в нашем 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 не очень помог: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...