Некоторые запросы, отправляемые приложением к базе данных, требуют длительной обработки и могут существенно повлиять на скорость загрузки страницы или выполнения задач. Такие запросы принято называть тяжелыми. К ним относятся:
- сложные фильтры на страницах и в динамических группах;
- сложные аналитические выборки в аналитике разделов;
- сложные пользовательские запросы, реализованные средствами разработки.
Вы можете ускорить обработку тяжелых запросов, перенаправив их на реплику базы данных с доступом только для чтения. Таким образом существенно снижается нагрузка на основную базу данных и освобождаются ресурсы для работы пользователей и других элементов приложения.
Настройка перенаправления тяжелых запросов состоит из следующих шагов:
- Создать реплику базы данных с доступом только для чтения.
- Настроить в Creatio доступ к созданной реплике базы данных.
Шаг 1. Создать реплику базы данных.
Создание реплик базы данных отличается для различных СУБД. Подробно этот процесс описан в документации вендоров:
- Создать реплику базы данных для PostgreSQL (на английском языке).
- Создать реплику базы данных для MS SQL.
- Создать реплику базы данных для Oracle (на английском языке).
Шаг. 2. Настроить перенаправление тяжелых запросов
-
Настройте перенаправление тяжелых запросов на реплику базы данных. Эта настройка выполняется для Creatio .NET Core в файле Terrasoft.WebHost.dll.config; для Creatio NET Framework в файле web.config.
-
Установите признак UseQueryKinds.
-
Добавьте значение replicaConnectionStringName="db_Replica" в параметр db general.
-
-
Настройте доступ Creatio к реплике базы данных. Для этого добавьте параметр db_Replica в файл ConnectionStrings.config:
<add name="db_Replica" connectionString="Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = [ Database server name ])(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = [ Oracle service name ]) (SERVER = DEDICATED)));User Id=[ Schema name ];Password=[ Schema password ];Statement Cache Size = 300" />