Мастер-Тур(15):Методика формирования программ туров

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 12-07-2018.

Содержание

[править] Введение

Документ предназначен для сотрудников ТО, использующих ПК Мастер-Тур 15, в обязанности которых входит формирование продукта. Цель документа – помочь избежать типичных ошибок и поделиться успешными практиками.
Сокращения:
ПТ – программа тура
ЦБ ~ ценовой блок

[править] Основные параметры ПТ, влияющие на производительность

Основной критерий, с помощью которого можно понять оптимально вы работаете с ПТ или нет, это скорость выставления продукта (или изменений в продукте) в онлайн. Если новая ПТ выходит в онлайн менее чем за 2-5 мин – значит все правильно. Если больше – это повод задуматься. Похоже, что что-то пошло не так.

Также следует отслеживать время, за которое перезапускается служба поиска и расчетов. Если полное время перезапуска превышает 1 час – значит надо что-то менять в ПТ или в железе.

Мы выделили несколько параметров, которые влияют на скорость, с которой изменения, произведённые менеджерами в турпродукте (изменения в ЦБ, ценах, ПТ, отелях и т.п.) отображаются на сайте.

[править] Число схем и маршрутов

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

Схема – это комбинация отель+продолжительность, на которую возможен тур. Таким образом число схем в ПТ будет равно количеству отелей в программе тура, умноженное на количество продолжительностей в данной программе тура. Обратите внимание, что в многоотельных турах число схем считается как произведение числа схем для каждой услуги проживания.
Например: в ПТ две услуги проживания, в первой два отеля и две продолжительности. Во второй три отеля и четыре продолжительности. Общее число схем будет: (2 отеля*2 продолжительности)*(3 отеля*4 продолжительности) = 48.
Поэтому в многотельных турах мы рекомендуем пользоваться настройкой ограничения комбинаций отелей по категориям или (если это невозможно) разбивать тур на несколько ПТ.

Маршрут – это комбинация, точки отправления с точкой прибытия. Кроме этого для услуги перелет к ним добавляется рейс с временем вылета. Последний фактор очень важен, если у одного рейса несколько времен вылета (= строчек в расписании перелета), то считаться будет не один рейс, а столько, сколько строчек в расписании. Маршруты считаются только для маршрутных услуг.
Например: есть тур в Турцию с перелетом туда-обратно (два рейса), с двумя вариантами трансфера туда (аэропорт-Белек, аэропорт-Анталия) и два варианта трансфера обратно (Белек –Аэропорт и Анталия-аэропорт). По каждой маршрутной услуге считаем число маршрутов:

  • Перелет туда – 2 маршрута (потому что два рейса)
  • Перелет обратно – 2 маршрута
  • Трансфер туда – 2 маршрута
  • Трансфер обратно – 2 маршрута

Количество маршрутов будет равно 2*2*2*2=16.

Чем больше схем и/или маршрутов у вас в одной ПТ, тем дольше тур или изменения по нему будут выходить в онлайн. К сожалению, невозможно указать точную максимальную цифру числа схем и маршрутов. Она привязана к характеристикам вашего железа. Но мы рекомендуем ориентироваться на цифру 300. Скорее всего у вас не будет проблем с ПТ, в которой будет не более 5000 схем и 2000 маршрутов.

[править] Оптимальные программы туров

  • На скорость выставления ПТ в онлайн прежде всего влияет совокупность количества схем отелей и количества маршрутов. Причем число маршрутов сильнее влияет на производительность. Мы не рекомендуем в одной ПТ иметь более 5000 схем и 2000 маршрутов.
  • Обращайте внимание на количество расписаний для авиаперелетов. Этот параметр существенно влияет на число маршрутов. Даже если у вас один ежедневный рейс, но с разным временем вылета, вы получите 7 маршрутов.

Обращайте внимание на число городов вылета-прилета. Каждый город это новый маршрут.

  • Приводимые ограничения не являются абсолютными. У вас может быть быстрая ПТ с 10000 маршрутами, но всего с несколькими схемами отелей и наоборот.

[править] Неоптимальные программы туров

В этом разделе мы приводим варианты неоптимальных ПТ, которые приводили к проблемам в работе службы поиска и расчетов.

  • В одной ПТ сделано более 30-ти вариантов трансферов
  • В одной ПТ внесено более 15 отелей с 30 вариантами продолжительности.
  • Заезды по ПТ каждый день, и тур рассчитанный на продолжительность от 1-го до 29 дней (и более)
  • Пример типичной ПТ, «выше» которой, скорее всего начнутся проблемы с производительностью: 1 город вылета, 5 городов (курортов), 10 вариантов трансферов, 50 отелей в каждом городе и связка трансферов осуществляется через маршрутные точки: город отеля -> отель (к примеру для каждого трансфера выбрано 4 отеля). Число маршрутов для данной ПТ – 1*5*10*50*4=10000.

Обратите внимание, что приведенные примеры не являются абсолютными. Т.е. вполне возможно, что вы сделаете ПТ с 50-тью вариантами трансферов, и этот тур будет выходить в онлайн за 30 сек. Важно понимать, что в конечном счете на производительность системы влияет общее число комбинаций, которое получится в итоге в рамках одной ПТ. Кроме этого многое зависит от мощности сервера, на котором располагается служба поиска и расчетов (минимальные требования здесь).

[править] Типичные ошибки

Здесь приведены типичные ошибки, которые допускают менеджеры при формировании ПТ.

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

[править] Выводы

Все приведенные советы и примеры являются ориентирами, которые следует проверять на практике. У нас есть примеры ТО, у которых при общем большом числе схем по всем ПТ (0,5 млн), служба поиска и расчетов перезапускается за 8 мин, в то время как у другого ТО, со 100 тыс. схем, перезапуск службы занимает 20 мин, при том что сервер у второго ТО мощнее.
Поэтому общий совет – начинайте с простых ПТ. И постепенно увеличивайте число комбинаций, добавляя туда новые варианты услуг. Так вы точно будет понимать, где находится предел вашей системы.

[править] Если что-то пошло не так

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

[править] Существующие логи

В МТ 15.2 ведется 4 лога:

  • DictionaryCacheLog.txt – первоначальная загрузка в кеш всех справочников
  • TourSearch.txt – первоначальный расчет и перерасчет актуальных фильтров, информация о поисковых запросах
  • TourSearchApi.txt – информация о поисковых запросах к API поисковыми системами
  • TourSearchCache.txt – детализированная информация при первоначальной загрузке в кеш и об изменениях всех данных в системе

[править] TourSearchCache.txt – лог загрузки ПТ в кеш

Если служба поиска и расчетов загружается дольше обычного или не загружается совсем, то в файле TourSearchCache.txt необходимо найти туры, в которых время загрузки более 5 минут.

Что искать:
Tour key: 100003426. Scheme count: 2156. Routes count: 12350. Time: 00:08:36.0000000

Как расшифровать:
Программа тура с ключом 100003426 имеет 2156 схем и 12350 маршрутов, рассчитывалась 8 мин 36 сек.

Решение:
В данной ПТ явно превышено число маршрутов. Ваша система не справляется с таким большим числом комбинаций. Необходимо либо уменьшить число маршрутов в ПТ, либо разбить данную турпрограмму на несколько, для уменьшения количества маршрутов.

[править] TourSearch.txt – лог расчета актуальных фильтров

Актуальные фильтры – это список значений, которые появляются в выпадающих списках основных фильтров в форме поиска туров. Например, когда вы нажимаете фильтр «Куда», система показывает варианты стран, для которых есть цена. Когда вы добавляете новую ПТ с новой страной, она должна попасть в список стран, по которой есть туры. Эта процедура и называется расчетом актуальных фильтров. При создании неоптимального тура она может занимать продолжительное время.
Поэтому мы рекомендуем, при непонятных ситуациях проанализировать данные из файла TourSearch.txt, а именно сравнить количество актуальных фильтров и время расчета актуальных фильтров последнего запуска с аналогичными данными из предыдущих расчетов.

Что искать:
processed: 255570 / 255630
processed: 255600 / 255630
processed: 255630 / 255630
Actual filters facade: tree initialization completed, time (sec): 235.2935756

Как расшифровать:
Общее количество актуальных фильтров – 255630. Данные фильтры рассчитывались ~ 224 сек (~ 4 мин)

Решение:
Если в разы увеличилось время расчета актуальных фильтров, то необходимо проанализировать добавленные за это время программы туров.

Личные инструменты
Пространства имён

Варианты
Просмотры
Действия
Навигация
Инструменты