Guia de Desempenho

Seu aplicativo de help desk pode ter a capacidade de armazenar uma grande quantidade de dados, mas isso também pode prejudicar o desempenho da sua ferramenta de help desk. Este guia fornece determinadas consultas para melhorar o desempenho do ManageEngine ServiceDesk Plus.

Para executar a consulta, você precisa acessar o banco de dados MySQL. Clique no link do respectivo SO (Windows ou Linux) para saber como acessar o banco de dados MySQL.

OBSERVAÇÃO: Reinicie o ServiceDesk Plus após executar a consulta para que as alterações sejam aplicadas.


A lista de dicas de desempenho discutidas neste guia é:


Ajuste de Java

É necessário ter um servidor de 64 bits. A configuração padrão definida em wrapper.conf é suficiente. No entanto, em um ambiente maior, defina o tamanho máximo do heap da seguinte forma:


# Tamanho máximo do heap Java (em MB)

wrapper.java.maxmemory=4096
 


Habilitando o modo Snapshot do MS SQL
Podemos habilitar o Read Committed Snapshot no ambiente MSSQL para aumentar o desempenho da aplicação. Ele cria um snapshot ou banco de dados somente leitura dos seus resultados atuais, separado do banco de dados ativo. Assim, quando você executa uma instrução SELECT para ler seus dados, você está lendo a partir de uma cópia somente leitura do seu banco de dados. Quando você altera seu banco de dados, isso acontece no banco ativo, e então uma nova cópia ou snapshot é criada para leitura.

Como habilitar o isolamento de snapshot de leitura confirmada (RCSI)

Todos os bancos de dados MSSQL geralmente têm problemas de bloqueio, o que pode afetar o desempenho ideal de uma aplicação. Para evitar esses problemas de desempenho no ServiceDesk Plus, habilite o read committed snapshot isolation (RCSI) seguindo estas etapas:

Isso pode levar algum tempo para ser concluído e também exige indisponibilidade, portanto programe-o para um fim de semana.
  1. Pare a aplicação ServiceDesk Plus.
  2. Faça login no SQL Management Studio.
  3. Coloque o banco de dados do ServiceDesk Plus offline executando 

    USE master; 
    GO
    ALTER DATABASE <db_name> SET OFFLINE WITH ROLLBACK IMMEDIATE
    GO
  4. Habilite o read committed snapshot executando 

    ALTER DATABASE <db_name> SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE
    GO
  5. Coloque o banco de dados online usando 

    USE master; 
    GO
    ALTER DATABASE <db_name> SET ONLINE
    GO
  6. Verifique se você habilitou o RCSI com sucesso executando a seguinte consulta.                                                                                                                               

SELECT is_read_committed_snapshot_on FROM sys.databases WHERE [name] = '<db_name>' 

 

Se a saída dessa consulta for 1, você habilitou o RCSI com sucesso.

Agora você pode iniciar a aplicação. Para mais informações sobre bancos de dados MSSQL e RSCI, acesse aqui.


Benefícios de habilitar o modo Snapshot do MS SQL

Consultas simultâneas de usuários ao banco de dados serão possíveis sem qualquer atraso ou interrupção (embora a carga na aplicação possa exceder os limites usuais).

Os registros consultados pelos usuários serão mantidos em um tempdb separado, que não será afetado por outras consultas de usuários ocorrendo em paralelo ou posteriormente.

As tabelas do banco de dados serão atualizadas somente após a conclusão de uma transação.
 

Varredura distribuída de ativos

Se você tiver muitos nós, digamos, mais de 1000, então escanear esses nós em intervalos regulares prejudicará o desempenho do ServiceDesk Plus. Para reduzir a carga no servidor, você pode escanear esses nós usando a Varredura distribuída de ativos. Tudo o que você precisa fazer é instalar servidores remotos do ServiceDesk Plus entre os departamentos. Esses servidores remotos escaneiam os nós em intervalos regulares e exportam os dados para o servidor central do ServiceDesk Plus.

Desativar contagem de solicitações

A contagem de solicitações exibe o número total de solicitações na página de visualização em lista de solicitações. Quanto maior o valor da contagem de solicitações, mais tempo leva para exibir as solicitações na página de visualização em lista.
O valor da contagem de solicitações não pode ser removido. Em vez disso, você pode optar por visualizar a contagem de solicitações clicando em um botão Contagem de linhas na página de visualização em lista de solicitações.
Para exibir o botão Contagem de linhas, use a consulta:

update GlobalConfig set PARAMVALUE='FALSE' where CATEGORY='PERFORMANCE' and PARAMETER='SHOW_REQUEST_COUNT';

Desativar temporizador de atualização de solicitações

O temporizador de atualização atualiza a página de visualização em lista de solicitações em intervalos regulares. Mas isso pode reduzir o desempenho do ServiceDesk Plus.
Você pode desativar a opção Temporizador de atualização usando a consulta:

update GlobalConfig set PARAMVALUE='FALSE' where CATEGORY='PERFORMANCE' and PARAMETER='SHOW_WO_REFRESH_TIME';

Desativar filtro Todas as solicitações

O filtro 'Todas as solicitações' na visualização em lista de solicitações exibe todas as solicitações criadas até o momento, independentemente do status. Mas, à medida que o número de solicitações aumenta, o desempenho do ServiceDesk Plus diminui gradualmente.

Nesse caso, você pode remover a opção 'Todas as solicitações' da lista suspensa do filtro usando a consulta:

update GlobalConfig set PARAMVALUE='FALSE' where CATEGORY='PERFORMANCE' and PARAMETER='SHOW_ALL_REQUEST_VIEW';

Diminuir o número de solicitações na visualização em lista

Na página Visualização em lista de solicitações, você encontrará um menu suspenso para selecionar o número de solicitações a serem visualizadas por página. Limitar esse número a 25 ou 50 eliminará o carregamento excessivo de solicitações e melhorará o desempenho do ServiceDesk Plus.

Desativar pesquisa de descrição curta

Descrição curta refere-se à descrição que aparece quando você passa o cursor sobre o link do assunto da solicitação na visualização em lista de solicitações. Por padrão, ao executar uma operação de pesquisa, a descrição curta de uma solicitação será pesquisada. Mas quando você tem uma grande quantidade de dados, o desempenho do ServiceDesk Plus eventualmente diminui.

Você pode desativar esse recurso usando a consulta:

update GlobalConfig set PARAMVALUE='false' where CATEGORY='SearchShortDescription' and PARAMETER='Status';

Limpeza do limite de itens recentes

Por padrão, a lista de itens recentes é excluída uma vez a cada 15 dias. Mas você pode melhorar o desempenho do ServiceDesk Plus aumentando a frequência da limpeza.

Exemplo: Se você quiser limpar a lista de itens recentes a cada 5 dias, use a consulta:

update GlobalConfig set PARAMVALUE=5 where CATEGORY='CLEANUP_TASK' and PARAMETER='CLEANUP_RI_LIMIT';

O limite máximo para limpar a lista de itens recentes é 90. Se você quiser desativar a limpeza, defina o valor do parâmetro como -1.

Limpeza do limite do log de erros

Por padrão, a lista de logs de erro é excluída uma vez a cada 180 dias. Mas você pode aumentar a frequência da limpeza para acelerar o processo de backup.

Exemplo: Se você quiser limpar a lista de logs de erro a cada 30 dias, use a consulta:

update GlobalConfig set PARAMVALUE=30 where CATEGORY='CLEANUP_TASK' and PARAMETER='CLEANUP_ERROR_LOG_LIMIT';

O limite máximo para limpar a lista de logs de erro é 365. Se você quiser desativar a limpeza, defina o valor do parâmetro como -1.

Limpeza da sessão ACC

Esta é uma tabela que contém os detalhes da sessão, ou seja, as informações de login e logout. Essas entradas não são usadas pela aplicação e podem ser removidas periodicamente para um melhor desempenho do banco de dados. Por padrão, os detalhes da sessão são excluídos uma vez a cada 90 dias, mas para melhor desempenho, você pode aumentar a frequência da limpeza.

Exemplo: Se você quiser limpar a sessão ACC a cada 30 dias, use a consulta:

update GlobalConfig set PARAMVALUE=30 where CATEGORY='CLEANUP_TASK' and PARAMETER='CLEANUP_ACC_SESSION_LIMIT';

O limite máximo para limpar os detalhes da sessão ACC é 365. Se você quiser desativar a limpeza, defina o parâmetro como -1.

Excluir notificações geradas pelo sistema

Notificações geradas pelo sistema são notificações geradas e enviadas pelo sistema. Você pode excluir todas as notificações do sistema ou verificar manualmente as notificações para excluir.

Se você quiser excluir todas as notificações do sistema, execute a consulta:

delete from notification where senderid=1;

Para obter a lista de títulos de notificações e excluir notificações indesejadas, execute a consulta:

select notificationtitle from notification limit 100;

Exemplo: Se o notificationtitle for 'has been added to the group', use a consulta para excluir notificações sob esse título:

delete from notification where notificationtitle like '%has been added to the group%';

Aumentar a contagem do cache de usuários

Por padrão, o número de objetos de dados do usuário que serão armazenados em cache é 500. Mas, no caso de máquinas de alto desempenho com melhores configurações de RAM, esse valor pode ser aumentado para armazenar mais dados em cache para uma resposta rápida.

Exemplo: Se você quiser aumentar a contagem do cache para 1000, use a consulta abaixo.

Para build 11000 ou mais recente:

update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_DO_COUNT';

Para builds mais antigos:

update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_CACHECOUNT';

Aumentar a contagem do cache de técnicos

Por padrão, o número de objetos de dados de técnicos que serão armazenados em cache é 300. Mas, no caso de máquinas de alto desempenho com melhores configurações de RAM, esse valor pode ser aumentado para armazenar mais dados em cache para uma resposta rápida.

Exemplo: Se você quiser aumentar o cache para 1000, use a consulta abaixo.

Para build 11000 ou mais recente:

update GlobalConfig set PARAMVALUE='1000' where PARAMETER='USER_DO_COUNT';

Para builds mais antigos:

update GlobalConfig set PARAMVALUE='1000' where PARAMETER='TECHNICIAN_CACHECOUNT';

Aumentar a contagem do cache de IDs de mensagens

Por padrão, o número de IDs de mensagens que serão armazenados em cache é 1000. Mas, no caso de máquinas de alto desempenho com melhores configurações de RAM, esse valor pode ser aumentado para armazenar mais dados em cache para uma resposta rápida.

Exemplo: Se você quiser aumentar a contagem do cache para 2000, use a consulta:

update GlobalConfig set PARAMVALUE='2000' where PARAMETER='MESSAGEID_CACHECOUNT';

Aumentar a contagem do cache de IDs de e-mail / IDs de usuário

Por padrão, o número de IDs de e-mail / IDs de usuário que serão armazenados em cache é 1000. Mas, no caso de máquinas de alto desempenho com melhores configurações de RAM, esse valor pode ser aumentado para armazenar mais dados em cache para uma resposta rápida.

Exemplo: Se você quiser aumentar a contagem do cache para 2000, use a consulta:

update GlobalConfig set PARAMVALUE='2000' where PARAMETER='EMAIL_USERID_CACHECOUNT';

 

Violação do limite de tamanho do arquivo de log (MSSQL): melhores práticas

O modelo de recuperação de um banco de dados define como as transações são registradas e retidas.

Há 3 modelos de recuperação em uso: Simple, Full e Bulk Logged. Aqui, discutiremos apenas os modelos Simple e Full.

No SQL Server, os arquivos de log de transações, quando não são submetidos a backup regularmente, podem crescer e causar uma falha no banco de dados porque o modelo de recuperação, por padrão, é Full.

Para evitar esse cenário, os administradores de banco de dados podem realizar:

 

a) Modelo de recuperação Full com backups regulares do log de transações

ou

b) Definir o modelo de recuperação do banco de dados como Simple. 
 

Modelo de recuperação Full com backup do log de transações

No modelo de recuperação Simple, a recuperação pontual não é possível, enquanto no modelo de recuperação Full ela é possível.

Portanto, em um ambiente de produção, configure seu banco de dados com o modelo de recuperação Full, para que uma opção de recuperação pontual esteja facilmente disponível.

Siga estas etapas para criar um arquivo de backup de log:

  • No SQL SERVER Management Studio, execute a seguinte consulta:
BACKUP LOG [<db-name>] 
TO DISK = N'<location>\sdp-backup.trn' 
WITH NOFORMAT, NOINIT,  
NAME = N'<db-name>-Full Log Backup'


Saída:
 

  • No SQL SERVER Management Studio, clique com o botão direito no banco de dados que você deseja fazer backup e clique em Tasks>>Back Up
     

 

 

  • Na caixa de diálogo Back Up Database, selecione o tipo de backup como Transaction Log, em Name, digite o nome do conjunto de backup, e então clique em Add.
  • Na caixa de diálogo Back Up Database, em Destination, selecione Disk, escolha o caminho clicando em Add, e clique em Ok

 

  • Na lista Script, clique em Script Action to Job.

 

 

  •  Forneça um nome. 

 

 

  • No painel esquerdo, clique em Schedules, e depois clique em New.

 

 

  • Na caixa de diálogo Job Schedule Properties, digite o nome do trabalho na caixa Name e forneça os seguintes valores:
    • Em Frequency, selecione Occurs daily e Recurs 1 day.
    • Em Daily frequency, selecione Occurs every 10 minutes e Starting at 12:00AM e Ending at 11:59PM.
    • Em Duration, selecione a data de início como a data atual e escolha sem data de término.   

 

Modelo de recuperação Simple

  • No SQL SERVER Management Studio, execute a seguinte consulta:
USE [master]
GO
ALTER DATABASE <db-name> SET RECOVERY SIMPLE WITH NO_WAIT
GO


Saída


 

  • No SQL SERVER Management Studio, clique com o botão direito em Database>>Properties

 

  • Escolha Options em select page e altere o modelo de recuperação.


 

 

No modelo de recuperação simple, a recuperação pontual não é possível. Isso ocorre porque o log de transações do SQL Server é truncado automaticamente (limpo) após cada transação concluída. Isso significa que os registros do log são removidos assim que a transação é confirmada e as alterações são gravadas no banco de dados. Consequentemente, backups do log de transações não são suportados nesse modelo.

Redução do arquivo de log

No SQL Server Management Studio

  • Clique com o botão direito no seu banco de dados e vá para Tasks -> Shrink -> Files.

 

  • Na caixa de diálogo Shrink File     

  i)  Em Database files and filegroups, escolha File type como Log.

  ii) Em Shrink action, escolha Release unused space

  • Clique em OK para iniciar a redução do arquivo de log.
     
Observação: Observe que isso terá sucesso somente quando o backup do log de transações (mencionado na Etapa 1) for bem-sucedido. Isso também pode ser agendado como um trabalho.

Registrar estatísticas de uso de CPU e memória

Cada vez que o servidor da aplicação apresentar problemas de desempenho, as estatísticas de uso de CPU e memória serão monitoradas de perto e documentadas. Isso se aplica apenas ao Windows.

Habilite o script de monitoramento para registrar as estatísticas de uso de CPU e memória. Execute os seguintes comandos no PowerShell.

  1. Vá para ServiceDesk Home/tools/monitoring/CPU_Memory_Monitoring.ps1 e desbloqueie o script do PowerShell localizado no diretório da aplicação.

 Unblock-File -Path "C:\ServiceDesk Home\tools\monitoring\CPU_Memory_Monitoring.ps1" 
  1. Defina a política de execução para executar o script personalizado. Você pode usar uma das seguintes políticas de execução: Bypass, Unrestricted ou RemoteSigned.

Set-ExecutionPolicy RemoteSigned
 

Confiável pelas melhores organizações do mundo

Suporte mais rápido e fácil, juntos