Глава 6. Настройка Производительности

Содержание

OTRS
TicketIndexModule
TicketStorageModule
Архивирование Заявок
База данных
MySQL
PostgreSQL
Веб-сервер
Предустановленное соединение с базой данных
Предварительно загруженные модули - startup.pl
Перезагрузка Perl-модулей во время обновления с диска
Выбор Правильной Стратегии
mod_gzip/mod_deflate

Аннотация

Presented below is a list of performance enhancing techniques for your OTRS installation, including configuration, coding, memory use, and more.

OTRS

There are several options for improving OTRS performance.

TicketIndexModule

Есть два типа хранилища информации для хранения индексов заявок:

  • Kernel::System::Ticket::IndexAccelerator::RuntimeDB (по умолчанию), "на лету" генерирует из таблицы заявок шаблон просмотра для каждой очереди. Пока в системе не больше 60, 000 открытых заявок, проблем с производительностью не будет.

  • Kernel::System::Ticket::IndexAccelerator::StaticDB - один из самых мощных модулей, его следует использовать, когда у вас еть больше 80.000 открытых заявок. Он использует дополнительную таблицу ticket_index, которая работает как обычный шаблон. Используйте bin/otrs.RebuildTicketIndex.pl для получения начального индекса после создания хранилища информации.

Вы можете изменить IndexAccelerator через SysConfig.

TicketStorageModule

Существует два различных хранилица для хранения заявок/статей:

  • Configure Kernel::System::Ticket::ArticleStorageDB (default) to store attachments, etc., in the database. Note: Don't use it with large set ups.

    Pro: Если пользователь вашего веб-сервера не является пользователем 'otrs', используйте этот модуль, чтобы избежать проблем с правами доступа.

    Противопоказания: Не совсем целесообразно хранить вложения в базе данных. Будьте осторожны, при храненении больших объектов. Настройте конфигурационный параметр MySQL "set-variable=max_allowed_packet=8M" для хранения объектов размером 8 MB (по умолчанию это 2M).

  • Configure Kernel::System::Ticket::ArticleStorageFS для хранения вложений и т.д. в локальной файловой системе. Примечание: Рекомендовано при больших установках.

    Pro: Это быстро!

    Con: Your web server user should be the 'otrs' user. Also, if you have multiple front-end servers, you should make sure the filesystem is shared between the servers. Place it on an NFS share or preferably a SAN or similar solution.

Note: you can switch from one back-end to the other on the fly. You can switch the backend in the SysConfig, and then run the command line utility otrs.ArticleStorageSwitch.pl to put the articles from the database onto the filesystem or the other way around. You can use the -s and -d options to specify the source and destination back-ends. Please note that the entire process can take considerable time to run, depending on the number of articles you have and the available CPU power and/or network capacity.

shell> bin/otrs.ArticleStorageSwitch.pl -s ArticleStorageDB -d ArticleStorageFS

Сценарий Переключение хранилища данных с базы данных на файловую систему.

Архивирование Заявок

Поскольку OTRS может использоваться в качестве системы аудита доказательств, то удаление закрытых заявко не очень хорошая идея. Именно по этому мы реализовали функцию архивирования заявок.

Tickets that match certain criteria can be marked as "archived" These tickets are not accessed if you do a regular ticket search or run a Generic Agent job. The system itself does not have to deal with a huge amount of tickets any longer as only the "latest" tickets are taken into consideration when using OTRS. This can result in a huge performance gain on large systems.

Для использования функции архивации выполните следующие действия:

  1. Включение архивирование системы в SysConfig

    В Панели Администрирования перейдите в SysConfig и выберите группу Заявка. В Core::Ticket найдите опцию Ticket::ArchiveSystem, по умолчанию установленную в значение "нет". Измените значение этой настройки на "да" и сохраните изменения.

  2. Определение работы GenericAgent

    В Панели Администратора выберите GenericAgent и добавьте новое задание (работу).

    1. Настройки Задания

      Введите имя для работы архивирования, и выберите надлежащие опции для планирования этой работы.

    2. Ticket Filter

      Фильтр заявок производит поиск заявок, которые отвечают выбраным критериям. Хорошей идеей будет заархивировать закрытые заявки, которые были закрыты за несколько месяцев до этого.

    3. Действия над заявками

      В этой части установите поле "Архивировать выбранные заявки" в "архив заявок".

    4. Сохранить работу

      В конце страницы у вас будет возможность сохранить работу (задание).

    5. Обработанные заявки

      Система отобразит все заявки, которые будут заархивированы при выполнении задания Generic Agent-ом.

  3. Поиск Заявок

    При поиске заявок, система по умолчанию производит поиск среди не архивированных заявок. Установите критерий поиска "поиск в архивах", если нужно чтобы поиск происходил также и в архивированых заявках.