Мастер-Тур(15):Рекомендации по оптимизации производительности системы
Версия от 12:27, 27 февраля 2023; Biryukov (обсуждение | вклад)
В случае возникновения зависаний, выявления медленной работой системы и для повышения производительности необходимо провести настройку компонентов системы согласно данной статьи.
- Выделить службу актуальных фильтров в отдельную службу от службы поиска (API). Описание по вариантам конфигурирования служб поиска находится в статье Варианты конфигураций служб поиска.
- В случае, если используется конфигурация системы с несколькими службами поиска, то настройку useSaveTourStatistics в файле web.config службы поиска в наиболее загруженных службах поиска перевести в значение false, оставить в значении true на наименее загруженной службе поиска.
- Если наблюдается слишком большая нагрузка при записи в лог TourSearchApi, то в файле web.config службы поиска необходимо отключить логирование в TourSearchApi и включить логирование в TourSearchApiShort.
- Выставить в файле web.config службы поиска настройку maxRequestsPerMinute в значение 60 (проанализировать как будет вести себя система и скорректировать в случае необходимости значение настройки до 30 или до 120 в зависимости от работы). Данная настройка регулирует количество запросов к службе с одного IP-адреса.
- Проверить, что настройка DurationSearchMode в файле web.config службы поиска заполнена.
- Если клиент работает с сервисом Слетать.ру, то необходимо для актуализации от Слетать.ру развернуть отдельную службу поиска. Нужно оценить лог DictionaryCacheLog на количество запросов в минуту к удаленному поставщику. Если число запросов больше 3-х в минуту, то выделение отдельной службы для актуализации должно увеличить производительность.
- Проанализировать лог TourSearchCache в разделе записи статистики. Чем больше параметр count, тем данная турпрограмма покрывает большое количество фильтров, то есть она будет пересчитываться по многим направлениям/датам/продолжительностям и т.д. Для оптимизации турпрограмм нужно проанализировать турпрограммы по перелетам, трансферам, отелям, городам. Попробовать уменьшить/разбить перелеты и трансферы. Проанализировать количество выбранных отелей. Например: если имеется более 200 отелей, необходимо разбить их по 50 отелей.
- Если работа ведется с использованием внешних систем TravelLine и AcademOnline – нужно уменьшить значение параметра Максимальное количество запросов поставщику.