Мастер-Тур(15):Рекомендации по разбору проблем с производительностью — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Рекомендации по настройке)
(Рекомендации по настройке)
 
Строка 9: Строка 9:
 
* При большом количестве запросов к ''gds-авиа'', рекомендуется использовать подключение выделенной службы в режиме ''[[Мастер-Тур(15):Установка#Установка службы поиска|SearchApiRemoteServices]]''
 
* При большом количестве запросов к ''gds-авиа'', рекомендуется использовать подключение выделенной службы в режиме ''[[Мастер-Тур(15):Установка#Установка службы поиска|SearchApiRemoteServices]]''
 
* Правильные настройки параметров ограничений на максимальное количество запросов поставщику внешних ''gds-отелей''
 
* Правильные настройки параметров ограничений на максимальное количество запросов поставщику внешних ''gds-отелей''
* Проверить настройки множителей используемых ядер процессора при поиске, расчете и перерасчете актуальных фильтров ''[[Мастер-Тур(15):Установка#Установка службы поиска|searchCoresKoeff, actualFiltersRecalcCoresKoeff и actualFiltersInitCoresKoeff]]'', при необходимости варьировать значения в меньшую сторону
+
* Производительность системы зависит от того, как будет использоваться мощность процессора при работе со службой поиска. Существуют следующие настройки, которые это регулируют. По умолчанию все коэффициенты стоят в значении 0,8:
 +
** <add key="[[Мастер-Тур(15):Установка#Установка службы поиска|actualFiltersInitCoresKoeff]]" value="0,8" /> – определяет, какой максимальный % ядер процессора будет использоваться службой поиска при первичном запуске службы поиска
 +
** <add key="[[Мастер-Тур(15):Установка#Установка службы поиска|actualFiltersRecalcCoresKoeff]]" value="0,8" /> – определяет, какой максимальный % ядер процессора будет использоваться службой поиска при перерасчете актуальных фильтров
 +
** <add key="[[Мастер-Тур(15):Установка#Установка службы поиска|useParallelRecalcForRoutes]]" value="0,8" /> – определяет, какой максимальный % ядер процессора будет использоваться службой поиска при перерасчете маршрутов
 +
** <add key="[[Мастер-Тур(15):Установка#Установка службы поиска|searchCoresKoeff]]" value="0,8" /> – определяет, какой максимальный % ядер процессора будет использоваться службой поиска при поиске в онлайне или API
 +
** В рамках этой статьи мы не можем дать оптимальные точные значения этих параметров, потому что это зависит от множества конкретных факторов (технических характеристик серверов, параметры нагрузки, объемы данных и т.д.). Наша рекомендация – выявляйте оптимальную конфигурацию экспериментальным путем. Меняете один-два параметра – смотрите на результат – делаете следующую итерацию для выявления оптимальной работы системы.
 
* Увеличение скорости загрузки службы поиска можно добиться переводом ''TempDB SQL сервера'' в пространство ОЗУ (с помощью сторонних программ) или максимально доступные NV или SSD диски
 
* Увеличение скорости загрузки службы поиска можно добиться переводом ''TempDB SQL сервера'' в пространство ОЗУ (с помощью сторонних программ) или максимально доступные NV или SSD диски
  

Текущая версия на 14:57, 6 августа 2025

Версия статьи от 6-08-2025.

Введение

В данной статье представлены рекомендации по разбору проблем с производительностью.

Рекомендации по настройке

  • В целях безопасности приложение TourPrograms необходимо размещать на отдельный порт и скрыть для public-интернет.
  • Служба фильтров TourSearchOwin должна быть закрыта для public-интернет.
  • При большом количестве запросов к gds-авиа, рекомендуется использовать подключение выделенной службы в режиме SearchApiRemoteServices
  • Правильные настройки параметров ограничений на максимальное количество запросов поставщику внешних gds-отелей
  • Производительность системы зависит от того, как будет использоваться мощность процессора при работе со службой поиска. Существуют следующие настройки, которые это регулируют. По умолчанию все коэффициенты стоят в значении 0,8:
    • <add key="actualFiltersInitCoresKoeff" value="0,8" /> – определяет, какой максимальный % ядер процессора будет использоваться службой поиска при первичном запуске службы поиска
    • <add key="actualFiltersRecalcCoresKoeff" value="0,8" /> – определяет, какой максимальный % ядер процессора будет использоваться службой поиска при перерасчете актуальных фильтров
    • <add key="useParallelRecalcForRoutes" value="0,8" /> – определяет, какой максимальный % ядер процессора будет использоваться службой поиска при перерасчете маршрутов
    • <add key="searchCoresKoeff" value="0,8" /> – определяет, какой максимальный % ядер процессора будет использоваться службой поиска при поиске в онлайне или API
    • В рамках этой статьи мы не можем дать оптимальные точные значения этих параметров, потому что это зависит от множества конкретных факторов (технических характеристик серверов, параметры нагрузки, объемы данных и т.д.). Наша рекомендация – выявляйте оптимальную конфигурацию экспериментальным путем. Меняете один-два параметра – смотрите на результат – делаете следующую итерацию для выявления оптимальной работы системы.
  • Увеличение скорости загрузки службы поиска можно добиться переводом TempDB SQL сервера в пространство ОЗУ (с помощью сторонних программ) или максимально доступные NV или SSD диски

Проверить

Службы

  • Начиная с семейства Windows 7: рекомендуется добавить каталог со службами в исключение программы Windows Defender (встроенный антивирус). Проблема проявляется в необоснованно долгой работе математических операций на стороне службы при проверке в реальном времени антивирусом.
  • Взаимодействие службы поиска со службой фильтров должно производиться по внутренним адресам локальной сети. Трафик между службами не должен идти через маршрутизатор

Приложения IIS

  • Приложения разных релизов должны находиться в разных пулах приложений. Если ставится тестовая среда с новыми сборками, то необходимо выделить их в отдельных пул
  • Сторонние приложения не должны быть в пулах для работы Мастер-Тур
  • Если в IIS включено логирование, то ротацию логов необходимо настроить по размеру не более 9 500 000 (байт). IIS, даже на 64-ти битной платформе, не в состоянии корректно работать с логами более 10мб. При активном использовании или парсинге приложений лог может разбухать очень быстро.
  • Вынос приложений IIS в отдельный пул приложений

Терминальный сервер

Устранение ошибок печати отчетов
Отключение ID сеанса в формировании пути временной папки. Для каждого пользователя во время rdp сеанса выделяется в профиле временная папка. Путь формируется по принципу UserProfile\Temp\IDRDP. При этом папка создается только на уровне папки temp без ID сеанса.

  • Отключение через реестр:
path: HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
name: PerSessionTempDir
data: 0
type: dword
  • Либо через политики сервера:
Computer Configuration\Policies\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Temporary folders

Часть проблем печати отчетов может решить установка соответствующих версий Developer Pack компонентов framemowork. Версия dev пакета должна соответствовать установленной версии framework https://dotnet.microsoft.com/en-us/download/dotnet-framework/net481