Засоби підвищення продуктивності при веб-розробці на платформі ASP.NET

Автор: , та

Анотація: Досліджено різні методи підвищення продуктивності при розробці на платформі ASP.Net.

Бібліографічний опис статті:

, та . Засоби підвищення продуктивності при веб-розробці на платформі ASP.NET//Наука онлайн: Міжнародний електронний науковий журнал - 2021. - №4. - https://nauka-online.com/publications/technical-sciences/2021/4/4-3/

Стаття опублікована у: : Наука Онлайн No4 апрель 2021

Технічні науки

УДК 004.432.45

Мітряєв Сергій Сергійович

студент

Харківського національного університету радіоелектроніки

Митряев Сергей Сергеевич

студент

Харьковского национального университета радиоэлектроники

Mitriaiev Sergiy

Student of the

Kharkiv National University of Radioelectronics

Андрющенко Ірина Ігорівна

студентка

Харківського національного університету радіоелектроніки

Андрющенко Ирина Игоревна

студентка

Харьковского национального университета радиоэлектроники

Andriushchenko Iryna

Student of the

Kharkiv National University of Radioelectronics

Олійник Олена Володимирівна

старший викладач кафедри програмної інженерії

Харківський національний університет радіоелектроніки

Олейник Елена Владимировна

старший преподаватель кафедры программной инженерии

Харьковский национальный университет радиоэлектроники

Oliinik Olena

Assistant Professor of Software Engineering Department

Kharkiv National University of Radioelectronics

ЗАСОБИ ПІДВИЩЕННЯ ПРОДУКТИВНОСТІ ПРИ ВЕБ-РОЗРОБЦІ НА ПЛАТФОРМІ ASP.NET

СРЕДСТВА ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ ПРИ ВЕБ-РАЗРАБОТКЕ НА ПЛАТФОРМЕ ASP.NET

TOOLS FOR PRODUCTIVITY IMPROVEMENT FOR WEB-DEVELOPMENT USING ASP.NET PLATFORM

Анотація. Досліджено  різні методи підвищення продуктивності при розробці на платформі ASP.Net.

Ключові слова: платформа ASP.NET, Засоби підвищення продуктивності, Кешування, Ліниві класи, Веб-додатки, Асинхронність.

Аннотация. Исследованы различные методы повышения производительности при разработке на платформе ASP.Net.

Ключевые слова: платформа ASP.NET, Средства повышения производительности, кэширование, Ленивые классы, Веб-приложения, Асинхронность.

Summary.  Studied different methods of  increasing productivity of development using ASP.NET platform..

Key words: ASP.NET Platform, Performance Tools, Caching, Lazy Classes, Web Applications, Async.

Використовуйте кешування на стороні серверу (Server side caching)

З’ясуйте всі загальні дані, що отримуються з бази даних, кожен раз, коли сторінка завантажується. Загальні дані та майстер-дані залишаються незмінними або змінюються нечасто [1]. Прикладом таких даних є список міст. Ви можете зберігати їх на стороні серверу у вигляді кеш-об’єктів. Тож, замість того, щоб завантажувати ці дані з бази даних, ви можете отримувати їх з кешу, тим самим зменшуючи час, необхідний для завантаження сторінки, через прибирання зайвого звернення до бази даних.

Використовуйте кешування сторінок (Page Caching)

Рекомендується використовувати кешування вихідних даних сторінки, щоб швидше завантажувати її. Це може значно покращити продуктивність. Також ви можете встановити кешування однієї сторінки за параметром, тобто, залежно від цього параметра, в браузері буде кешовано іншу версію тієї самої сторінки, тому, коли користувач повторно відвідує її, буде завантажено кешовану версію цієї веб-сторінки [4].

Якщо вся ваша сторінка відображає динамічний вміст, але деяка її частина має статичний вміст, можна використовувати часткове кешування (відоме як кешування фрагментів), що означає, що буде кешовано лише деяку частину сторінки, а не її всю.

Використовуйте асинхронні методи

Асинхронні методи є корисними, бо не блокують інтерфейс сторінки та не чекають, поки одне завдання буде повністю виконано [6]. Тобто сайт буде продовжувати завантажувати вміст неодночасно, таким чином завантаження контенту стане набагато швидшим, і зможе забезпечити кінцевому користувачеві кращий досвід перегляду вашого ASP.NET веб-сайту.

Не використовуйте Try.Wait та Try.Result в асинхронних методах

Використовуйте ключове слово await, замість Task.Wait та Task.Result. Під час використовування Task.Wait, ви фактично блокуєте потік, доки завдання, яке працює синхронно з іншими командами, не буде виконано, але, коли ви використовуєте ключове слово await, то потік не блокується, а працює асинхронно [3]. Рекомендації з написання коду наведено далі:

// Неправильно

Task task = GetStudents();

await task;

// Правильно

Task task = GetStudents();

task.Wait();

Мінімізуйте використання змінних Application та Session

Уникайте використання зайвих змінних у програмі, якщо це не потрібно, та при використанні ніколи не зберігається великі дані або майстер-дані у змінних програми [2].

Використовуйте змінні сеансу лише для збереження конкретних даних користувача протягом певної тривалості та обнуляйте об’єкт сеансу, як тільки користувач залишає сайт. Використання багатьох змінних сеансу для кількох користувачів може уповільнити продуктивність програми, тому намагайтеся обмежувати  їх кількість.

Використовуйте ліниві класи для завдання лінивих завантажень

Використовуйте ліниве завантаження, коли ви хочете завантажувати об’єкт колекції. Ліниве завантаження – це техніка, яка може допомогти покращити продуктивність програми, скорочуючи час виконання вимог.

Ліниві класи у c# дозволяють нам завантажувати дані за запитом, а не при створенні екземпляра [5].

Приклад коду лінивого завантаження:

Lazy<List<int>> listLazy = data.GetList();

public class data

{

public static Lazy<List<int>> GetList(){

Lazy<List<int>> list = new Lazy<List<int>>();

for (int i = 0; i <= 50; i++){

list.Value.Add(i);

}

return list; }}

Література

  1. Timms S. 15 Simple ASP.NET Performance Tuning Tips [Електронний ресурс] / Simon Timms // stackify. URL: https://stackify.com/asp-net-performance-tuning/.
  2. MIke R. Рекомендации по повышению производительности ASP.NET Core [Електронний ресурс] / Mike Rousos// Microsoft. 2020. URL:https://docs.microsoft.com/ru-ru/aspnet/core/performance/performance-best-practices?view=aspnetcore-5.0.
  3. Skeet J. C# in Depth / Jon Skeet. New York City: Manning Publications, 2013. 616 с. (3).
  4. Лучшие практики для увеличения производительности ASP.NET Core приложений [Електронний ресурс] // bool.dev. 2019. URL: https://bool.dev/blog/detail/luchshie-praktiki-dlya-uvelicheniya-proizvoditelnosti-aspnet-core-prilozheniy.
  5. Дополнительные классы и структуры .NET Отложенная инициализация и тип Lazy [Електронний ресурс] // Metanit. URL: https://metanit.com/sharp/tutorial/20.1.php.
  6. Delamater M. Murach’s ASP.NET 4.6 Web Programming with C# 2015 / Mary Delamater. Fresno, CA: Mike Murach & Associates, 2016. 954 с. (6).

Перегляди: 246

Коментарі закрито.

To comment on the article - you need to download the candidate degree and / or doctor of Science

Підготуйте

наукову статтю на актуальну тему, відповідно до роздлів журналу

Відправте

наукову статтю на e-mail: editor@inter-nauka.com

Читайте

Вашу статтю на сайті нашого журналу та отримайте сертифікат