четверг, 11 сентября 2025 г.

четверг, 11 сентября 2025 г.

Полный расчёт прайс-листа через службу расчёта

Мы уже анонсировали доработки в службе расчета прайс-листа в ПК САМО-тур, когда презентовали новую версию. Обещали рассказать вам об этом функционале подробнее. Если вы рассчитываете прайс-лист через службу расчета (или планируйте перестроить свои бизнес-процессы и начать использовать этот раздел программы), то вам будет полезна сегодняшняя статья.


Главный вопрос, ради чего все затевалось). Мы хотели увеличить скорость расчета, так как объемы обрабатываемых пользователями данных растут. Вот как мы это сделали, и каких результатов добились!

Разработчики добавили возможность не только рассчитывать стоимость отдельных услуг при расчёте прайс-листа, но и полностью рассчитывать прайс-лист для обычного (не переездного и не дочернего) тура. За счёт этого, а также за счёт глубокой оптимизации алгоритма расчёта прайс-листа удалось добиться многократного ускорения расчёта прайс-листов.

На примере тестового сервера одного из заказчиков можно наблюдать рост скорости расчёта прайс-листа (именно самого механизм расчёта) в диапазоне 20-50 раз.



Обратите внимание, лимитирующим фактором в скорости расчёта прайс-листов теперь является не сам процесс расчёта, а процесс сохранения результирующего прайс-листа в БД. Для обеспечения максимальной производительности расчётов файлы БД должны находиться на максимально быстрых дисках. В указанном выше примере, суммарное ускорение расчётов (вместе с сохранением) достигает до 15 раз.

Таким образом, если ранее мы считали нормой скорость расчёта прайс-листа 1,5 млн пакетов в час в один поток, то с новым функционалом службы расчётов нормой можно считать скорость около 20 млн пакетов в час. Таким образом направление средних размеров, например Турция на весь сезон, в 400 млн пакетов в 20 потоков можно полностью рассчитать примерно за 1 час.
Прирост скорости расчётов зависит от серверов конкретного заказчика. Чтобы оценить прирост именно на вашей системе, вы можете запросить тестовый доступ к новому функционалу на ограниченное время, чтобы принять решение о его использовании.

Системные требования к серверу для службы расчётов в части CPU для использования нового функционала не изменились. Но теперь на диске службой расчётов создаётся временный файл с результатами (примерно 300 Mb на 1 млн пакетов). Таким образом, при 50 одновременных расчётах по 1 млн пакетов в каждом, на диске понадобится около 15 Gb. Примерно необходимая скорость записи на диск в один поток составляет 25 Mb/сек. При 50 одновременных расчётах примерно необходимая скорость составляет 1250 Мбайт\сек. Требуемый объём RAM - в 2 раза больше требуемого места на диске (для того же примера при 50 одновременных расчётах требуется 30 Gb RAM).

Дополнительно, значительно снижается нагрузка на сервера каталогов цен (особенно на базу tempdb), так как теперь они не участвуют в расчёте прайс-листа обычного тура.

В текущей версии полный расчёт прайс-листа через службу расчётов работает в тестовом режиме и включается для каждого тура отдельно.

Новый функционал службы расчёта является отдельной платной опцией к тарифам сопровождения. Для уточнения стоимости или получения тестового доступа к этому функционалу просьба обращаться в нашу службу поддержки.

0 коммент.:

Отправить комментарий