Разделы

Интернет Веб-сервисы

Ученые Пермского Политеха смогли вдвое увеличить устойчивость сайтов к высоким нагрузкам

Ученые Пермского Политеха предложили новый подход к проектированию веб-сервисов. Испытания показали, что он сокращает потребление оперативной памяти и равномерно распределяет нагрузку на процессор, позволяя сайтам работать стабильнее и обслуживать больше посетителей. Об этом CNews сообщили представители ПНИПУ.

Интернет-платформы, веб-сервисы и мобильные приложения стали не просто удобными инструментами, а неотъемлемой частью повседневной жизни, от которой зависит работа бизнеса и государственных структур. Ежедневно через них проходят колоссальные объемы данных: финансовые транзакции, личные сообщения, заказы товаров, запись на прием к врачу и др.

Любой сайт или мобильное приложение — это, по сути, множество страниц, где пользователь может выполнять разные действия: зарегистрироваться, посмотреть товары, оформить заказ, написать сообщение. Однако вся информация, которую человек видит на экране компьютера или телефона, не хранится на самих сайтах. Текст, картинки, списки товаров и личные данные находятся в специальном хранилище информации и появляются только тогда, когда пользователь открывает нужную страницу.

Это место называется базой данных, и именно вокруг него строится работа любого сайта или приложения. Все действия веб-сервисов так или иначе связаны с постоянными обращениями к этому хранилищу: чтобы показать страницу, нужно взять оттуда нужную информацию; чтобы сохранить изменения, нужно записать их туда. Именно поэтому база данных становится одной из самых важных частей любого цифрового сервиса.

Проблема в том, что у нее есть жесткий лимит на число одновременных соединений. Чем больше людей пользуются сайтом, тем чаще он обращается к хранилищу. Когда пользователей становится слишком много, оно перестает справляться с потоком запросов, возникают задержки и ошибки, а иногда сервис и вовсе перестает работать.

Такие сбои напрямую сказываются на бизнесе: клиенты не могут совершить покупку, а компании теряют выручку. Для крупных предприятий даже несколько минут простоя могут обернуться потерями в сотни тысяч рублей и больше. Также это мешает людям делать самые обычные, но важные вещи: вовремя записаться на прием к врачу, получить необходимые документы, записать ребенка в детский сад или школу, оплатить налоги или вызвать аварийную службу при затоплении квартиры или запахе газа.

Существуют разные подходы, позволяющие снизить нагрузку на отдельные части веб-сервисов. Однако сегодня разработчики используют их не комплексно, а по отдельности. В итоге, если компания хочет добавить новый механизм, его приходится встраивать в уже работающую систему, которая изначально не была для этого спроектирована. Это требует дополнительного тестирования, что зачастую дорого. При этом полностью отечественных и комплексных решений для высоконагруженных сервисов — например, интернет-магазинов или государственных порталов — сегодня нет.

Ученые Пермского Политеха нашли способ лучше проектировать сайты и приложения, чтобы они не «падали», когда их одновременно используют тысячи людей. Это позволит сократить потребление оперативной памяти, обслуживать больше пользователей и снизить нагрузку на базу данных.

Новую структуру сайта исследователи создали в несколько этапов. Сначала они разбили основу веб-сервиса, которая обрабатывает запросы пользователей, управляет данными и выдает ответы, на независимые части. Если одна из них перегружается, то остальные продолжают функционировать, а значит, сайт не «падает» целиком.

Минцифры запустит реестр доверенного ПО до конца года. Отбирать софт будут структура «Росатома» и еще 4 неизвестные организации
Минцифры запустит реестр доверенного ПО до конца года. Отбирать софт будут структура «Росатома» и еще 4 неизвестные организации

Также ученые добавили диспетчер соединений — специальную программу, которая помогает базе данных работать стабильно. Обычно, если тысячи людей одновременно что-то делают на сайте, хранилище информации получает слишком много обращений и не успевает их обрабатывать. Диспетчер берет все эти запросы и перераспределяет так, чтобы система получила их поочередно и не перегрузилась.

После этого исследователи добавили еще несколько популярных решений, которые используются для повышения устойчивости сайтов к нагрузкам. Они объединили все эти подходы в единую схему, чтобы вместе они давали максимальный эффект.

«Главная особенность исследования в том, что мы также учитываем нагрузку от искусственного интеллекта. В большинстве отечественных систем ИИ-функции просто подключают к уже работающему сайту как дополнительный модуль. Сложные вычисления конкурируют за ресурсы с основными процессами, и это создает перегрузки. Мы впервые предусмотрели это и сделали так, чтобы тяжелые задачи искусственного интеллекта не мешали основной работе сайта и выделили для них отдельные вычислительные мощности», — сказал Олег Горшков, аспирант кафедры «Экономика и управление промышленным производством» ПНИПУ, архитектор ПО.

Затем ученые внедрили разработанное решение на реально работающей веб-платформе и создавали нагрузку — симулировали поведение пользователей, которые одновременно заходили на сайт. Тестирование проводилось дважды: до внедрения и после. В процессе замеряли два показателя: сколько потребляется оперативной памяти и насколько загружен процессор (вычислительный блок, который обрабатывает данные). Именно эти параметры напрямую влияют на скорость работы и способность выдерживать большие нагрузки.

Почему удаленный доступ стал главной уязвимостью медицинской инфраструктуры
Почему удаленный доступ стал главной уязвимостью медицинской инфраструктуры Импортонезависимость

«Мы определили, что новый способ во время эксперимента позволил сайту почти в два раза снизить потребление оперативной памяти и обработать больше запросов одновременно. При большом количестве посетителей не произошло накопления запросов, которые замедляли бы работу сайта. Это значит, что нет необходимости постоянно увеличивать объем памяти веб-сервиса и тратить на это средства. В результате сайты и приложения, построенные по новому способу, смогут обслуживать больше людей без покупки дополнительного оборудования или хранилищ информации», — сказала Жанна Мингалева, профессор кафедры «Экономика и управление промышленным производством» ПНИПУ, доктор экономических наук.

Такое решение даст компаниям возможность разрабатывать надежные и быстрые сайты и приложения, которые не боятся наплыва посетителей, а значит, поможет избежать убытков, связанных с простоями и сбоями. Снижение нагрузки на процессор позволит также создать запас вычислительных мощностей для подключения новых сервисов или более ресурсоемких ИИ-задач без потери производительности.