Заказчики: Правительство Удмуртской Республики Ижевск; Государственные и социальные структуры Подрядчики: Центр Высоких Технологий (ЦВТ) Продукт: Проекты ИТ-аутсорсингаДата проекта: 2018/09 — 2019/04
|
Технология: ИТ-аутсорсинг
|
2019: Разработка веб-сервиса для временного хранения заявлений для РПГУ
В исходной реализации обмен данными между Региональным Порталом Госуслуг (РПГУ) и Системой исполнения регламентов Удмуртской Республики (далее СИР УР) осуществлялся при помощи мастера действий.
Ввиду не оптимизированной архитектуры РПГУ, которая не предусматривала высокие нагрузки, сформировалась ситуация, при которой сервис мог быть недоступен из-за большого количества желающих получить услугу, что приводило к зависаниям портала у клиента и недоступность сервиса в целом.
Задачей ЦВТ была разработка веб-сервиса для временного хранения заявлений по услуге «Выдача разрешений на добычу охотничьих ресурсов».
Цель проекта — повысить качество, удобство и доступность услуги. Для реализации цели были определены следующие задачи:
- Обеспечить бесперебойный прием заявлений на оказании услуги.
- Сохранить существующие функциональные возможности портала при подаче заявлений
Пользователю доступны следующий функции:
- получение информации о результате предоставления услуги; получение сведений о ходе выполнения запроса;
- осуществление оценки качества предоставления услуги;
- получение информации о результате предоставления услуги;
- получение сведений о ходе выполнения запроса;
- досудебное (внесудебное) обжалование решений и действий (бездействия) органа (организации), должностного лица органа (организации) либо государственного или муниципального служащего.
В исходной архитектуре были выявлены следующие узлы связи: проксирующий балансировщик, распределяющий запросы между двумя серверами приложения, два сервера приложения. Другой трудностью стало ограничение доступа к серверам и отсутствие свободного доступа к мониторингу. Удаленная работа была ограничена, необходимо было работать из контура заказчика.
Команда проекта приняла решение начать оптимизацию с балансировщика. За счет данного действия увеличили размер очереди запросов, поменяли параметр таймаута обработки запроса.
Параллельно был подготовлен скрипт нагрузки, отправляющий в приложение POST-запрос, содержащий json с данными «заявки». Каждый процесс нагрузки делился на несколько этапов. Сначала производилась проверка контрольных показателей (н-р искомые 2000 rps и 100 rps). Потом, методом поиска промежуточных значений, определялась примерная текущая производительность системы.
Следующим этапом была настройка IIS на серверах приложения. Специалисты ЦВТ изменили размеры очереди запросов и и параметры таймаута очереди. Два этапа не значительно повысили производительность системы.
Финальным этапом стала оптимизации времени обработки запроса приложением. По его завершении цель в 2000 rps была достигнута.
Технологии:
- .Net Framework,
- ASP.Net MVC,
- Entity Framework,
- MSSQL,
- Vue.js
- JMeter,
- Yandex.
- Tank,
- Phantom
Результатом работ стала полностью работоспособная услуга, которая удовлетворяет всем заявленным требованиям.
Кроме этого, оптимизацией добились производительности в 2000 (две тысячи) пользователей, одновременно подающих заявление в электронной форме на получение услуги «Выдача разрешений на добычу охотничьих ресурсов».