Мастер-Тур(15):Рекомендации по оптимизации производительности системы — различия между версиями
[непроверенная версия] | [досмотренная версия] |
Aefremov (обсуждение | вклад) |
Aefremov (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
* Проверить, что настройка '''DurationSearchMode''' в [[Мастер-Тур(15):Установка#Установка службы поиска| файле web.config службы поиска]] заполнена. | * Проверить, что настройка '''DurationSearchMode''' в [[Мастер-Тур(15):Установка#Установка службы поиска| файле web.config службы поиска]] заполнена. | ||
* Если клиент работает с сервисом Слетать.ру, то необходимо для актуализации от Слетать.ру развернуть отдельную службу поиска. Нужно оценить лог '''DictionaryCacheLog''' на количество запросов в минуту к удаленному поставщику. Если число запросов больше 3-х в минуту, то выделение отдельной службы для актуализации должно увеличить производительность. | * Если клиент работает с сервисом Слетать.ру, то необходимо для актуализации от Слетать.ру развернуть отдельную службу поиска. Нужно оценить лог '''DictionaryCacheLog''' на количество запросов в минуту к удаленному поставщику. Если число запросов больше 3-х в минуту, то выделение отдельной службы для актуализации должно увеличить производительность. | ||
− | * Проанализировать лог | + | * Проанализировать лог [[Мастер-Тур(15):Методика формирования программ туров#TourSearchCache.txt – информация при первоначальной загрузке данных в кеши и всех изменениях в системе|TourSearchCache]] в разделе записи статистики. Чем больше параметр count, тем данная турпрограмма покрывает большое количество фильтров, то есть она будет пересчитываться по многим направлениям/датам/продолжительностям и т.д. Для оптимизации турпрограмм нужно проанализировать турпрограммы по перелетам, трансферам, отелям, городам. Попробовать уменьшить/разбить перелеты и трансферы. Проанализировать количество выбранных отелей. Например: если имеется более 200 отелей, необходимо разбить их по 50 отелей. |
Версия 14:41, 10 февраля 2023
В случае возникновения зависаний, выявления медленной работой системы и для повышения производительности необходимо провести настройку компонентов системы согласно данной статьи.
- Выделить службу актуальных фильтров в отдельную службу от службы поиска (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 отелей.