Configurações para otimização de performance 06/06/2014 Configurações para otimização de performance Sumário 1 Objetivo ...................................................................................................................................................... 3 2 Alias.dat...................................................................................................................................................... 3 3 Configurações Gerais................................................................................................................................. 3 4 Configurações Bases Oracle...................................................................................................................... 4 5 Boas práticas.............................................................................................................................................. 4 5.1 Sql Server (NOLOCK) ................................................................................................................................ 4 5.2 Windows Performance ............................................................................................................................... 5 5.3 Windows: DEP – Data Execution Prevention ............................................................................................. 6 5.4 Windows: Operações regionais e idiomas ................................................................................................. 7 5.5 Windows: Compatibilidade MDI – Windows XP ......................................................................................... 9 5.6 Windows: Serviço de indexação do windows ............................................................................................. 9 5.7 Windows: Antivírus ..................................................................................................................................... 10 5.8 Virtual Machine........................................................................................................................................... 10 6 Actions automática - Notícias ..................................................................................................................... 11 7 Linha RM: Limpeza da fila de processos e logs relacionados aos JOBS dispardos .................................. 11 2 Versão 1.0 Configurações para otimização de performance 1 Objetivo O objetivo deste documento é listar uma série de procedimentos referentes à configurações e ajustes no sistema operacional hospedeiro e no .net framework com o intuito de se maximizar a performance das aplicações da linha RM. 2 Alias.dat Após análise, podemos gerenciamento o intervalo de tempo que os servidores de jobs verificam a fila de processos, através da tag <JobServerPollingInterval> e quantidade máxima de jobs executados simultaneamente através da <JobServerMaxThreads>. Figura 1 - Alias.dat 3 Configurações Gerais Para garantirmos o correto funcionamento do sistema em um ambiente N camadas, os arquivos de configurações devem ser configurados respeitando as orientações a seguir. FileServerPath Defina um único diretório para geração e leitura de arquivos temporários, assim todos os Hosts do ambiente irão gerar os arquivos somente nesse diretório. Desta forma, em ambientes que trabalham em N camadas, devemos adicionar a tag nos arquivos RM.Host.exe.config ou RM.host.Service.exe.config de todos os servidores de APP e Job. Exemplo: <add key=“FileServerPath” value=“\\Servidor\Pasta” /> LogPath Estabeleça o caminho onde serão gerados os logs do sistema. Exemplo: <add key=“LogPath” value=“\\Servidor\Pasta” /> Versão 1.0 3 Configurações para otimização de performance LOCALIZATIONLANGUAGE A tag LOCALIZATIONLANGUAGE determina em qual linguagem o sistema irá funcionar, habilitar essa tag evita que o RM valide qual a linguagem o sistema operacional está configurado. Exemplo: <add key=“LOCALIZATIONLANGUAGE” value “pt-BR” /> ENABLECOMPRESSION DESABILITAR a compressão de dados para melhorar o desempenho da rede, contudo, o custo para compactação e descompactação dos dados em redes Gigabits, pode ser superior a transferências compactadas. Exemplo: <add key=“ENABLECOMPRESSION” value “false” /> 4 Configurações Bases Oracle Visando melhorar a performance de acesso em bancos Oracle, existe um cache para armazenagem de dados do schema da base de dados. Este cache se faz necessário pois o "GetSchema" no Oracle tem um custo bastante caro. Para a correta utilização do mesmo, deve-se parametrizar o Config do Host da seguinte forma: UseDbSchemaCache Indica se o sistema guardará em cache os esquemas obtidos pelas consultas. Exemplo: <add key="UseDbSchemaCache" value="true" /> DbSchemaCacheMaxSize Define a quantidade de schemas que serão guardados em cache. Exemplo: <add key="DBSchemaCacheMaxSize" value=“5000"/> Importante: Apesar do valor default ser 100, o valor ideal de acordo com testes já realizados é 4000. Este valor deve ser utilizado com bastante critério, visto que, se o mesmo for muito grande, pode-se comprometer a performance do banco. 5 Boas práticas 5.1 Sql Server (NOLOCK) Atualmente obtemos vários recursos de gerenciamento e extração de informações tais como relatórios, cubos, planilhas, dentre outros componentes que utilizam como fonte de dados “Consultas SQL”. Utilizando banco de dados SQL Server, é aconselhável a inclusão da clausula (NOLOCK) nas querys elaboradas, para que durante execução da mesma, a tabela filtrada não seja alocada, exceto para querys específicas que necessitam de um retorno full. Exemplo: 4 Versão 1.0 Configurações para otimização de performance Figura 2 - Boas práticas Sql Server (NOLOCK) 5.2 Windows Performance Visando obter um ganho de performance do sistema operacional, podemos gerenciar a energia de modo há obter melhor desempenho da máquina. Conforme segue exemplo (lembrando que esta configuração se encontra disponível em Opções de energia, no painel de controle): Figura 3 - Windows Performance Versão 1.0 5 Configurações para otimização de performance Inativação dos componentes IPV6 da placa de rede para aprimoramento do trafego de informações via IPV4. Figura 4 - Windows Performance 5.3 Windows: DEP – Data Execution Prevention Habilitação do DEP apenas para programas e serviços essenciais do Windows. Figura 5 - Windows DEP 6 Versão 1.0 Configurações para otimização de performance 5.4 Windows: Operações regionais e idiomas Ajustar as configurações regionais de todos servidores e terminais clientes para linguagem “Brasil” e “pt-Br” e, replicadas para as contas do sistema. Figura 6 - Operações regionais e idiomas (Formatos) Figura 7 - Operações regionais e idiomas (Local) Versão 1.0 7 Configurações para otimização de performance Figura 8 - Operações regionais e idiomas (Teclados e Idiomas) Figura 9 - Operações regionais e idiomas (Administrativo) 8 Versão 1.0 Configurações para otimização de performance 5.5 Windows: Compatibilidade MDI – Windows XP Em casos específicos, o executável RM.exe pode ser executado em compatibilidade com o Windows XP SP3, além da inativação dos recursos visuais, contudo impacta no design de alguns itens. Figura 10 - Compatibilidade MDI - Windows XP 5.6 Windows: Serviço de indexação do windows Serviço de Indexação realiza buscas no seu disco rígido e indexa arquivos para tentar acelerar sua localização. O serviço Windows Search é executado em segundo plano consumindo recursos de memória e processamento. Este serviço possui a função de fornece indexação de conteúdo, cache de propriedade e resultados de pesquisa para arquivos, e-mail e outros conteúdos, não sendo necessário nos servidores de aplicação e JOBS. Figura 11 - Windows: Serviços de Indexação. Versão 1.0 9 Configurações para otimização de performance 5.7 Windows: Antivírus Por segurança a maioria dos antivírus realizam as verificações em tempo real nos diretórios TOTVS e banco de dados, prejudicando qualquer execuções e/ou gravação a serem realizadas nos diretórios. Deste modo é aconselhável tratar os diretórios abaixo como exceção, em todos ambientes que possuem a estrutura instalada: Linha RM ... :\TOTVS ... :\WINDOWS\Microsoft.Net ... :\Windows\Assembly Banco de dados ORACLE: ..:\ORACLE\app ou ..:\App SQL Server: * 32bits ..:\Program Files (x86)\Microsoft SQL Server ..:\Program Files (x86)\Microsoft SQL Server Compact Edition * 64 bits ..:\Program Files\Microsoft SQL Server ..:\Program Files\Microsoft SQL Server Compact Edition 5.8 Virtual Machine É aconselhável em servidores virtualizados (VM) a inativação do componente CheckSum Offload para desabilitação das verificações cruzada de usuários. Figura 12 - Virtual Machine 10 Versão 1.0 Configurações para otimização de performance É importante lembrar que é totalmente recomendável o aumento de memória disponível nas VM, inclusive para gerenciamento dos recursos visuais (vídeo), para obter o máximo de desempenho da aplicação. 6 Actions automática - Notícias Por default, quando iniciamos qualquer aplicação retorna a tela de “Noticias TOTVS” obtendo maior tempo para abertura. Isso acontece porque o sistema comunicase com um link externo. Contudo podemos desabilitar o carregamento da action “GlbActionStartup”, responsável pela tela de notícias, reduzindo o tempo de acesso ao sistema. Para inativação, acesse o contexto Serviços Globais, tela “Actions do sistema” e após editar a informada, desabilite a execução através do ceckbox. Figura 13 - Actions automática - Notícias 7 Linha RM: Limpeza da fila de processos e logs relacionados aos JOBS dispardos Para cada solicitação de JOBS, são inseridas informações nas tabelas de gerenciados dos demais, tais como GJOBX, GJOBXEXECUÇÃO, GJOBLOG dentre outras, preenchendo um alto número de registros temporários. Deste modo, é aconselhável a habilitação da limpeza de logs dos jobs, disponível na tela de Gerenciamento de jobs (Processos) conforme segue abaixo. Figura 14 - Linha RM Versão 1.0 11 Configurações para otimização de performance Habilitando o recurso, a limpeza será realizada automaticamente de acordo com a periodicidade definida no agendamento de processos. Figura 15 - Linha RM 12 Versão 1.0