Снижение нагрузки на сервер

Другие

 

Общая информация

Коэффициент допустимой нагрузки на сервер - один из параметров SaaS-аккаунтов. Для каждого тарифного плана установлены свои параметры нагрузки. С текущей нагрузкой аккаунта Вы всегда можете ознакомиться в личном кабинете.

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

Основные параметры, влияющие на нагрузку:

  • Количество пользователей в системе работающих одновременно;
  • Количество записей в таблицах программы;
  • Количество правил и групп доступа;
  • Количество напоминаний, цветовых форматирований, фильтров и т.д.;
  • Количество вычислений и их сложность;
  • Количество заданий, выполняемых в фоновом режиме (через систему Cron);
  • Количество запущенных рассылок (электронной почты и СМС);
  • Количество отчетов;
  • Объем лога программы.

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

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

Инструкции для администраторов

Начало оптимизации

Самое первое действие, которое Вы должны сделать - убедиться, что у Вас используется последняя версия программы. Убедиться в этом можно, перейдя в "Настройки" - "Дополнительно" - "Обновление ревизии". Если Вы используете самую последнюю версию и ревизию программы, Вы увидите соответствующее сообщение

photo

Если же Вы используете старую версию или ревизию, то программа предложит Вам обновиться.

photo

Далее следует запустить расширенную проверку системы. Для этого перейдите в "Настройки" - "Дополнительно" - "Проверка системы" и нажмите на кнопку "Расширенная проверка системы". В случае возникновения ошибок в программе, они будут автоматически исправлены.

photo

Общие настройки программы

Перейдите в "Настройки" - "Дополнительно" - "Общие настройки". Здесь стоит обратить внимание на два пункта.

photo

Интуитивный поиск - Вы можете отключить эту опцию, если Вам не нужен поиск по транслитерации значения.

Режим скролла окна - Подробнее о режимах скролла окна Вы можете прочитать в нашей документации. Желательно указать у данной настройки значение "Простой".

Настройки Cron

Перейдите в "Настройки" - "Дополнительно" - "Настройки Cron". В настройках Cron можно управлять задачами, выполняющимися автоматически в фоновом режиме. Например, синронизацией, отправкой писем и СМС. Снизить нагрузку за счет этой настройки можно двумя способами.

photo

1. Запретить выполнение заданий, которые Вы в своей программе не используете. Сделать это можно, открыв нужное задание и поставив галочку "Запретить выполнение".

Например, если Вы не пользуетесь функцией синхронизации, то откройте соответствующее задание и поставьте галочку "Запретить выполнение" в его настройках. Если Вы не пользуетесь функцией отправки СМС - можно запретить выполнение заданий "Формирование СМС", "Отправка СМС", "Проверка статуса доставки СМС".

2. Изменить периодичность выполнения заданий. Сделать это можно, зайдя в настройки задания и изменив значение в поле "Период". Например, в задании "Отправка писем" можно указать вместо ежеминутного выполнения, выполнение задания раз в 5 минут.

Настройка условий выполнения вычислений

В программе для автоматического заполнения некоторых полей используются вычисления. Но иногда условия их выполнения неоптимальны. Например, нагрузку вызывает условие "Отображения поля" в настройке вычисления. Следует избегать его использования.

photo

Например, если у нас есть вычисление, по которому в поле А вносится сумма полей Б и В, то желательно использовать условия "Изменение поля Б" и "Изменение поля В". Если у нас есть вычисление, которое заносит в поле А значение из другой таблицы из поля Б, в зависимости от значения в поле связи В, то логично, что можно использовать только условие "Изменение поля В" и "Сохранение в таблице".

Настройка и архивирование логов

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

photo

photo

Также здесь можно автоматически заархивировать логи, если ранее не было включено автоматическое архивирование. Сделать это можно во вкладке "Архив".

Настройка фильтров

Если открыть настройки любого фильтра, то в них можно увидеть опцию "Отображать в скобках число записей". Желательно снять эту галочку, т.к. эта опцию может вызывать нагрузку при каждом открытии таблицы. И чем больше таких фильтров в таблице - тем больше нагрузка при открытии.

photo

Инструкция для разработчиков

Работа с таблицей perfomance_stat

Важно: Внесение изменений в таблицы базы данных может привести к неработоспособности программы. Не стоит вносить  изменения в таблицы базы данных без крайней необходимости.

Войдите в ваш аккаунт, и откройте адрес https://*адрес вашего аккаунта*/edit_sql.php (где вместо *адрес вашего аккаунта* укажите соответствующее значение). В открывшемся окне заходим в таблицу базы данных, содержащую название Вашего аккаунта (например, c_myaccount). В открывшемся перечне таблиц базы откройте таблицу f_performance_stat

photo

В данной таблице ведется учет всех скриптов программы за последний час. Для начала, вам стоит отсортировать все скрипты в этой таблице по количеству sql-запросов (от большего к меньшему). Для этого, дважды нажмите на заголовок "sql_count".

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

1. script - указывает на название скрипта, выдающего нагрузку

2. get_data - дает более подробную информацию о скрипте, либо содержит ссылку на таблицу/задачу, в которой возникает нагрузка.

Для удобства анализа, используйте таблицу, приведенную ниже:

Значение в поле "script" Пример значения в поле "get_data" Описание Действия для снижения нагрузки
cron.php ...&task_id=1 Строка такого вида означает, что нагрузку дает одно из заданий в Cron
Необходимо перейти в "Настройки Cron" и открыть задание, вызывающее нагрузку (ID задания указано в поле "get_data"). Стоит либо оптимизировать код задания, либо уменьшить его периодичность. О настройках Cron.
view_line2.php table=42&line=1&filter=48&page=1 Строка такого вида означает, что нагрузку дает одно или несколько вычислений в определенной таблице при просмотре записи Необходимо перейти в настройки вычислений таблицы, указанной в поле "get_data" (в примере, это таблица с ID 42). Для начала, стоит посмотреть и оптимизировать условия выполнения вычислений в указанной таблице. Если этого не помогло, стоит оптимизировать сам код вычислений.
fields.php table=42&filter=48 Строка такого вида означает, что нагрузку дает одно или несколько вычислений в определенной таблице при просмотре таблицы Необходимо перейти в настройки вычислений таблицы, указанной в поле "get_data" (в примере, это таблица с ID 42). Для начала, стоит посмотреть и оптимизировать условия выполнения вычислений в указанной таблице. Если этого не помогло, стоит оптимизировать сам код вычислений.
report.php id=30 Строка такого вида означает, что нагрузку дает один из отчетов программы
Необходимо оптимизировать код отчета, указанного в поле "get_data" (в примере, это отчет с ID 30).


comments powered by HyperComments

+ сегодня

компаний уже выбрали Клиентскую базу!
Узнайте, почему.

  • компания
  • компании
  • компаний
  • выбрала
  • выбрали
  • выбрали

Создайте собственный аккаунт прямо сейчас! Бесплатно! Создать аккаунт