При работе с Asp.Net CORE 2 WebAPI длина любого свойства внутри ResponseObject -> оказывает влияние <- на время ответа </strong>
Это было протестировано на веб-API ASP.NET Core 2, который обрабатывает простой запрос GET.
Сначала я создал объект ResponseObject следующим образом:
public class CelestialObjectResponse
{
public CelestialObject CelestialObject { get; set; }
public CelestialObjectClassification CelestialObjectClassification { get; set; }
public CelestialObjectMeta CelestialObjectMeta { get; set; }
public CelestialObjectPosition CelestialObjectPosition { get; set; }
public IQueryable<CelestialObjectMarket> CelestialObjectMarkets { get; set; }
public IQueryable<CelestialObjectResponse> Children { get; set; }
}
Когда я позвонил своему API, чтобы получить мои данные примерно с 1000 записями о небесных телах (у каждой есть классификация, мета, позиция, рынки и т. Д.), Что привело к запросу 6,8 МБ.
Как только я реорганизовал объект ResponseObject, чтобы иметь гораздо более короткие имена свойств, например:
public class CelestialObjectResponse
{
public CelestialObject CO { get; set; }
public CelestialObjectClassification COCL { get; set; }
public CelestialObjectMeta COME { get; set; }
public CelestialObjectPosition COPO { get; set; }
public IQueryable<CelestialObjectMarket> COMA { get; set; }
public IQueryable<CelestialObjectResponse> Children { get; set; }
}
тогда размер ResponseObject привел к пакету в 6,2 Мб, который был доставлен примерно на 300 мс быстрее, чем последний Ответ ...
В связи с этим я могу сделать вывод, что если вы работаете с Asp.Net Core Web Api, то длина свойства ответа оказывает влияние на время загрузки ответа в Asp.net API. , Имейте в виду, что я мог бы изменить многие другие свойства внутри классов CelestialObject, Classification, Meta, Position, Market, чтобы получить этот размер ответа еще меньше!
Так что, в принципе, это приятно знать, но, к сожалению, я не знаю, как среда выполнения обрабатывает переменные с необычайно длинными именами. Я могу себе представить, что во время выполнения будет какое-то незаметное небольшое воздействие, но это будет трудно заметить. Если вы не выполняете несколько дорогостоящих операций одновременно, то все сложится и потребит значительную производительность, поэтому лучше всего диагностировать и проверять алгоритмы, если вы чувствуете, что в вашем коде не хватает производительности.
Надеюсь, эта маленькая информация поможет
С уважением