Типовые ошибки производительности в веб приложении ASP NET MVC

Автор Pavel Shevchuk
Типовые ошибки производительности в веб приложении ASP NET MVC

Всем привет в этом видео мы будем рассматривать ошибки которые возникают при оптимизации типовые ошибки которые возникают чаще всего разобьем их всех по уровням.

То есть — это джаваскрипт да то есть там bootstrap.css так далее контроллер то есть вызов бизнес-логики обработка параметров так далее был. Идол А вот где возник самый типовые ошибки самую тебя ошибки возникают низу. Естественно да, но мы начнём сверху потому, что проще да то есть мы там рассмотрим базовые параметры какие есть проблемы самые частые — это вызов.

Вызов вызов большого количества ресурсов ресурсов с одного домена.

То есть когда вызывать с одного домена у вас всё начинает — это ну вот в очереди. Капица и соответственно создать проблем. Это не такая уж критическая проблема и. Ну она не самое главное по камере в наших 2 ошибка — это большие картинки картинки не врезаются не обрезаются под размер например. Используйте для иконки там какой-нибудь изображение там 1600 на 1200 метров в чём доехать до просто поставили. ЦСМ размерам вроде выводится на самом деле вы как бы вы грустили лишней информации на на сервер далее больше пока у меня здесь таких моментов нету в следующий момент — это контроллер часто когда мы формируем модель модель да то есть мы делаем. Линк ю. Ленку связи loading то есть мы делаем viewmodel и и соответственно дела lazy-loading. Вот давайте здесь вот проблем тоже да то есть он сыт. ГСВГ с здесь у нас CSS здесь у нас HTML на свою. Да ещё вьющая бы записал бы вызов вызов. Вызов обращение, что очень плохо на самом деле вызов обращение к базе анонимайзер не был в цикле. То есть вы где-то замазали какой-то метод и вызывает его прямо из мухи минуя всякие viewmodel и обращайтесь был у — это плохо потому, что такое обращение к базе если ты где скрыта в цикле то — это ещё дополнительно нехорошо так вернёмся к контроллеру lazy-loading готовить когда. Мы выполняем когда формируют модель нам не хватает поле категория давайте-ка мы вытащим из продукты dataset категории. А1 какой у нас получается дублирование кода вот поэтому — это первая проблема дату из контроллера. Какая вторая — это ну толстый контролируемые снимаю. Рассмотри том, что не проблема производительности на рассмотрим именно проблем производительности. Наверное — это повторное излечение повторное извлечения одних и тех же сущностей то есть допустим она нужен проект. Да в смысле проект не плане в проект разработки Apple система у нас есть наша система в DNS мы не работаем с проектами и задачами так далее. И вот допустим мы работаем с тикетами мы извлекаем проект в каком-то месте потом дальше мы вызываем метод например там какой-то настройки и внутреннего вызывается опять же извлечения проекта таким образом вы в рамках одного запроса контроллеру делаете несколько вызовов к одной и той же сущности по-хорошему. Вы должны один раз вызвать проекта дальше везде его использовать. Но если у вас куча операций вы и эти операции делают там разные программисты они соответственно праздновать спроектировали и в коем случае. Вы просто ну на входе метод вызывается Project i.g.i. подразумевается, что внутри мне надо будет называться. Ну изучение этого проекта. Авито проект уже извлекли. Да в начале и возникает проблема вот поэтому вы должны так проектировать, что вы извлекли один раз проект сущность проекта и дальше уже с ней вы здесь, а не то, что вы каждый раз извлекать в каждом методе. Этот проект. Вот надеюсь. Понятно далее вот чтобы такого не было у вас должно быть бизнес-life вся в былине. То есть вы должны просто вызвать 1м посуде апреля какой-то. Да и который будет дальше там что-то уже внутри химичить. Вот то есть решение. Вы вызов одного метода в был вот так. Ну давайте, тогда тоже здесь решению пропишем да то есть — это несколько доменов да то есть ресурсы на несколько доменов плюс cdn для стандартных библиотек дальше большой размер китайской делаем делаем нормальные картинки нормальные картинки вызов обращениями застройки работаем работаем работаем трогай с моделью то есть только с моделью с фьюжкой дороже всю никаких дополнительных данных не надо извлекать вас есть модель вьюшка всё вот вся в. Юшка должна быть. Затока заточено на этот viewmodel. Если нужны какие-то данные менять авиамодель меняйте и различия данных тут всё всё должно приходить в итоге всю модели никакого обращения неделя дополнительно не нужно делать — это viewmodel уже не обращается каким-то дополнительным внешним данным, что должно быть во viewmodel и там какие-то методы конечно могут быть в этой модели. Но желательно чтобы — это было максимально просто viewmodel вот дальше модель формируйте да то есть viewmodel в контроллере уже у вас у вас не должно быть вообще lazy-loading. А ты вообще забудьте. Используйте просто. Используйте свои модели в своей модели они F объекты они эффекты потому, что потому, что потому, что соответственно эти объекты стоят опасность. Особенно для новичков да. То есть вы начинаете обращаться по по внешним ключам вы там где-то учитывайте минут где-то не учитываете да то есть и в итоге вот ну всё — это приводит к не очень хорошего запросу поэтому вы извлекли модель из бизнес-логики да то есть и уже с ней работать и не надейтесь ним кинезиологи так всё — это разобрали контроллером прошли дальше следующее самые сложные да то есть — это был или. Идол какие есть проблемы могут быть так. Ну много обращений в МВД.

0 комментариев
0

Читайте также