Ajuste de desempenho

Esta é uma lista de técnicas de aprimoramento de desempenho para sua instalação OTOBO. Os tópicos incluem configuração, codificação, uso de memória e muito mais.

Módulo de Índice do Ticket

O módulo de índice de tickets pode ser definido através da configuração do sistema Ticket::IndexModule. Existem dois módulos de backend que constroem o índice para a Visão de filas:

Kernel::System::Ticket::IndexAccelerator::RuntimeDB
Esta é a opção padrão, que gerará cada exibição de fila em tempo real a partir da tabela de tickets. Você não terá problemas de desempenho até ter cerca de 60.000 tickets abertos em seu sistema.
Kernel::System::Ticket::IndexAccelerator::StaticDB

O módulo mais poderoso, deve ser usado quando você tiver acima de 80.000 tickets abertos. Ele usa uma tabela ticket_index extra, que será preenchida com palavras-chave com base nos dados do ticket. Use o seguinte comando para gerar um índice inicial após a alterar de back-ends:

otobo> /opt/otobo/bin/otobo.Console.pl Maint::Ticket::QueueIndexRebuild

Índice de pesquisa de tickets

O OTOBO usa um índice de pesquisa especial para realizar pesquisas de texto completo nos campos de artigos de diferentes canais de comunicação.

Para criar um índice inicial, use este comando:

otobo> /opt/otobo/bin/otobo.Console.pl Maint::Ticket::FulltextIndex --rebuild

Nota

A indexação real do artigo ocorre por meio de um trabalho do daemon do OTOBO em segundo plano. Enquanto os artigos que acabaram de ser adicionados ao sistema são marcados para indexação imediatamente, pode acontecer que o índice esteja disponível apenas após alguns minutos.

Existem algumas opções disponíveis para ajustar o índice de pesquisa:

Ticket::SearchIndex::IndexArchivedTickets
Defina se os tickets arquivados serão incluídos no índice de pesquisa (desativado por padrão). É aconselhável manter o índice pequeno em sistemas grandes com tickets arquivados. Se isso estiver ativado, os tíquetes arquivados serão encontrados em pesquisas de texto completo.
Ticket::SearchIndex::Attribute

Configurações básicas do índice de texto completo.

``Ticket::SearchIndex::Attribute`` Setting

Configuração Ticket::SearchIndex::Attribute

Nota

Execute o seguinte comando para gerar um novo índice:

otobo> /opt/otobo/bin/otobo.Console.pl Maint::Ticket::FulltextIndexRebuild
WordCountMax
Define o número máximo de palavras que serão processadas para criar o índice. Por exemplo, apenas as primeiras 1000 palavras de um corpo de artigo são armazenadas no índice de pesquisa de artigos.
WordLengthMin e WordLengthMax
Usado como limites de comprimento de palavra. Somente palavras com um comprimento entre esses dois valores são armazenadas no índice de pesquisa de artigos.
Ticket::SearchIndex::Filters

Filtros baseados em expressões regulares excluem partes do texto original do índice de texto completo.

``Ticket::SearchIndex::Filters`` Setting

Configuração Ticket::SearchIndex::Filters

Existem três filtros padrão definidos:

  • O primeiro filtro remove caracteres especiais como: , & < > ? ” ! * | ; [ ] ( ) + $ ^ =
  • O segundo filtro remove as palavras que começam ou terminam com um dos seguintes caracteres: ‘ : .
  • O terceiro filtro remove as palavras que não contêm um caractere de palavra: a-z, A-Z, 0-9, _
Ticket::SearchIndex::StopWords

Palavras de parada em inglês para o índice de texto completo. Essas palavras serão removidas do índice de pesquisa.

``Ticket::SearchIndex::StopWords###en`` Setting

Configuração Ticket::SearchIndex::StopWords###en

Existem chamadas stop-words definidas para alguns idiomas. Essas stop-words serão ignoradas ao criar o índice de pesquisa.

Ver também

Se seu idioma não estiver nas definições de configuração do sistema ou você desejar adicionar mais palavras, você poderá adicioná-las a esta configuração:

  • Ticket::SearchIndex::StopWords###Custom

Armazenamento de artigos

Existem dois módulos de back-end diferentes para o armazenamento de artigos por telefone, email e artigos internos. O armazenamento de artigos usado pode ser configurado na configuração Ticket::Article::Backend::MIMEBase::ArticleStorage.

Kernel::System::Ticket::Article::Backend::MIMEBase::ArticleStorageDB

Este módulo padrão armazenará anexos no banco de dados. Também funciona com vários servidores front-end, mas requer muito espaço de armazenamento no banco de dados.

Nota

Não use isso com instalações grandes.

Kernel::System::Ticket::Article::Backend::MIMEBase::ArticleStorageFS

Use este módulo para armazenar anexos no sistema de arquivos local. É rápido, mas se você tiver vários servidores front-end, verifique se o sistema de arquivos é compartilhado entre os servidores. Coloque-o em um compartilhamento NFS ou, de preferência, em uma SAN ou solução semelhante.

Nota

Recomendado para grandes instalações.

Você pode alternar de um back-end para outro em tempo real. Você pode alternar o back-end na configuração do sistema e, em seguida, executar este utilitário de linha de comando para colocar os artigos do banco de dados no sistema de arquivos ou vice-versa:

otobo> /opt/otobo/bin/otobo.Console.pl Admin::Article::StorageSwitch --target ArticleStorageFS

Você pode usar o --target opção para especificar o backend de destino.

Nota

Todo o processo pode levar um tempo considerável para ser executado, dependendo do número de artigos que você possui e da energia da CPU disponível e / ou capacidade da rede.

Se você deseja manter anexos antigos no banco de dados, pode ativar a opção de configuração do sistema Ticket::Article::Backend::MIMEBase::CheckAllStorageBackends para garantir que o OTOBO ainda os encontre.

Arquivando Tickets

Como o OTOBO pode ser usado como um sistema à prova de auditoria, excluir tickets fechados pode não ser uma boa ideia. Portanto, há um recurso que permite arquivar tickets.

Os tickets que correspondem a determinados critérios podem ser marcados como arquivados. Esses tickets não serão acessados se você fizer uma pesquisa regular de tickets ou executar um trabalho de agente genérico. O sistema em si não precisa mais lidar com uma quantidade enorme de tickets, pois apenas os tickets mais recentes são levados em consideração ao usar o OTOBO. Isso pode resultar em um enorme ganho de desempenho em sistemas grandes.

Para usar o recurso de arquivamento:

  1. Ative a configuração ``Ticket::ArchiveSystem``nas Configurações de Sistema.

  2. Defina uma tarefa do agente genérico:

    • Clique no botão Adicionar Tarega na tela Atendente genérico.
    • Configurações da tarefa forneça um nome para o trabalho de arquivamento.
    • Execução automática: selecione as opções apropriadas para agendar essa tarefa.
    • Selecionar chamados: Pode ser uma boa ideia arquivar apenas os tickets em um estado fechado que foram fechados há alguns meses antes.
    • Alterar/Adicionar Atributos do Chamado: defina o campo*Arquivar chamados selecionados* to Arquivar os chamados.
    • Salve a tarefa no final da página.
    • Clique no link * Executar esta Tarefa * na tabela de visão geral para ver os tickets afetados.
    • Clique no botão Executar Tarefa.

    Nota

    Até 5000 tickets podem ser modificados executando esta tarefa manualmente.

Ao procurar tickets, o padrão do sistema é procurar tickets que não estão arquivados.

Para procurar tickets arquivados:

  1. Abra a tela de pesquisa de tickets.
  2. Defina Procurar Arquivo como Tickets não arquivados ou * Todos os tickets *.
  3. Realize a pesquisa.

Armazenamento em cache

Um módulo de cache rápido é uma grande ajuda em termos de desempenho. Recomendamos usar um servidor Redis Cache ou criar um ramdisk.

Instale um servidor de cache Redis

  1. Instale servidor Redis

Antes de tudo, você precisa instalar o mais novo servidor Redis. A maneira mais fácil é setup Redis no mesmo host que OTOBO esta instalado à sua porta padrão.

  1. Instale o módulo Perl Redis ou Redis::Fast

Você pode escolher qual módulo Redis usar: Redis ou`Redis::Fast` (que é compatível com Redis mas ~2x faster). Por favor use nosso otobo.CheckModules.pl --list para escolher o pacote certo para você:

otobo> /opt/otobo/bin/otobo.CheckModules.pl
  1. Configurar OTOBO para Redis

Por favor, use o OTOBO SysConfig (Administração-> Configuração do sistema) para configurar o OTOBO corretamente:

| Setting                       | Description                | Default value  |
| ----------------------------- | -------------------------- | -------------- |
| Cache::Redis###Server         | Redis server URL           | 127.0.0.1:6379 |
| Cache::Redis###DatabaseNumber | Number of logical database | 0              |
| Cache::Redis###RedisFast      | Use or not Redis::Fast     | 0              |
| Cache::Module                 | Activate Redis Cache Module| DB (use Redis) |

Cache do RamDisk

O OTOBO armazena muitos dados de cache temporários no /opt/otobo/var/tmp. Verifique se ele usa um sistema de arquivos e armazenamento de alto desempenho. Se você possui RAM suficiente, também pode tentar colocar este diretório em um ramdisk como este:

otobo> /opt/otobo/bin/otobo.Console.pl Maint::Session::DeleteAll
otobo> /opt/otobo/bin/otobo.Console.pl Maint::Cache::Delete
root> mount -o size=16G -t tmpfs none /opt/otobo/var/tmp

Nota

Adicione ponto de montagem persistente no /etc/fstab.

Aviso

Este será um armazenamento não permanente que será perdido na reinicialização do servidor. Todas as suas sessões (se você as armazenar no sistema de arquivos) e os dados do cache serão perdidos.

Clustering

Para cargas muito altas, pode ser necessário operar o OTOBO em um cluster de vários servidores front-end. Esta é uma tarefa complexa com muitas armadilhas. É altamente recomendável entrar em contato com nossos especialistas antes de tentar implementar isso por conta própria.