Sie sind auf Seite 1von 10

Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013



COMO FAZER Configuraes avanadas para potencializar o desempenho das aplicaes RM

Introduo

O ERP da TOTVS preparado para trabalhar com diversos usurios e requisies simultneas, ele capaz de executar
vrios processos ao mesmo tempo. Neste documento apresentaremos informaes avanadas sobre a configurao do
ambiente e do produto, antes recomendamos a leitura e aplicao das recomendaes do Guia Configuraes bsicas
para potencializar o desempenho das aplicaes Linha RM.

Inicialmente iremos realizar uma introduo sobre alguns itens referente arquitetura e Framework, Portal, Banco de
Dados, ERP e na segunda parte do documento apresentaremos instrues que visam melhorar a performance do sistema
e garantir que ele trabalhe sempre com os melhores resultados.

Arquivos de configurao do ERP (Host.exe)

Algumas alteraes nos arquivos com a extenso config devero ser realizadas com objetivo de melhora de perfomance,
estes arquivos sero encontrados na pasta RMNET no diretrio de instalao da aplicao, veja nos links abaixo como
configurar:

Compresso de Dados
Protocolos de Comunicao
Garbage Collector MultiThread

Separao Job Server / App Server

Um Host responsvel por duas tarefas principais:

Processar Jobs
Responder a requisies de telas

Em alguns momentos, quando o Host est executando um nmero alto de Jobs, as aberturas de telas podem levar um
tempo excessivo para responder. Isto acontece porque Jobs e telas dividem os mesmos recursos, sendo o nmero de
threads dos Jobs muito maior. A demora na abertura causa a impresso de que o sistema apresenta lentido, quando na
verdade ele est trabalhando corretamente, contudo precisa executar as threads dos processos, que so em nmero
maior que as threads de telas. Temos como principais vantagens:

Telas respondem mais rapidamente, uma vez que no tm que dividir processamento.
As duas funcionalidades ficam completamente isoladas, podendo sofrer manuteno e tratamentos
separadamente, sem nus para a outra.

A separao do Job Server e do App Server somente se aplica a clientes que utilizam o ambiente 3 camadas.
Soluo: separar Job Server e App Server em hosts diferentes, para orientao acesse o item Job Server / App
Server.






Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
Banco de Dados

O banco de dados muito importante no que se diz respeito performance no produto, por isto muito importante que
a empresa tenha um banco de dados com excelente desempenho para que no seja prejudicada a comunicao entre o
produto e o banco de dados. Abaixo algumas verificaes que devero ser realizadas com objetivo de melhorar a
perfomance do ERP :

Triggers
Atualizao das estatsticas do banco de dados
Auto create statistics" e "Auto update statistics"
Limpeza de objetos temporrios na base de dados
Monitoramento do log do banco de dados
Reindexao peridica das tabelas
Virtualizao
Paralelismo
Avaliao de ndices
Memria SQL Server
Processos bloqueados no banco de dados
Antivrus
BDE
TSS

Portal RM

Algumas aes podero ser realizadas para que o portal tenha um melhor desempenho, abaixo citaremos duas destas
aes:

Utilizar cache para objetos estticos
Compresso de Pginas























Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
Instrues

1. Compresso de dados

A partir da verso 11.20, o ERP possui a opo de comprimir os dados trafegados entre server e cliente com isto temos
ganho na velocidade de comunicao, aumento de segurana, uma vez que os dados no esto mais diretamente
expostos via Sniffer. A Compresso habilitada por padro, sempre garantir que, se presente, a tag abaixo esteja setada
como true, tanto no server e no client, no arquivo RM.HOST.EXE.Config que fica localizado no diretrio de instalao dos
aplicativos RM, dentro da pasta RM.NET:

<add key="EnableCompression" value="true"/>

2. Protocolos de Comunicao

A partir da verso 11.20, o ERP possui as seguintes opes de protocolo de comunicao de dados:

TCP
HTTP
NamedPipe

Para comunicaes na mesma mquina, o protocolo mais rpido o NamedPipe, para comunicaes entre Host e Client
em mquinas diferentes, a melhor opo o TCP, por padro, estas so as configuraes default. Contudo, sempre
checar se a configurao no est errada a partir da chave de config, que aceita os valores citados acima, o arquivo a ser
alterado o RM.HOST.EXE.Config, este arquivo fica localizado no diretrio de instalao dos aplicativos RM, dentro da
pasta RM.NET, abaixo linha a ser verificada no arquivo citado acima:

<add key=WcfProtocol" value=XXXXXX"/>

3. Garbage Collector MultiThread

Quando operando em ServerMode, o Garbage Collector proporciona desempenho otimizado para hosts que contm
mltiplos ncleos, pois a infraestrutura do .net framework cria uma thread de coleta para cada ncleo, temos como
principais vantagens a melhor utilizao de recursos da mquina, diminuio do tempo em que a aplicao fica
sobrecarregada pela execuo da coleta Para utilizao deste recurso devemos acrescentar a tag abaixo no config do
Host, o arquivo a ser alterado o RM.HOST.EXE.Config fica localizado no diretrio de instalao dos aplicativos RM,
dentro da pasta RM.NET:

<configuration>
<appSettings>
...
</appSettings>
<Configuration>
<runtime>
<gcServer enabled=true />
</runtime>
</Configuration>
</configuration>





Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
4. Job Server / App Server



Configurao:

Configure um ou mais Hosts trabalhando em conjunto.

Sete a propriedade Habilitar Processamento de Job para false no Host que trabalhar como AppServer;

Sete a propriedade Habilitar Processamento de Job para true no Host que trabalhar como JobServer;
Configure todas as mquinas clientes para apontarem seus configs para a mquina que trabalhar como AppServer,
para selecionar a opo "Habilitar Processamento de Job" dever acessar a pasta RM.NET no diretrio de instalao
dos aplicativos RM e localizar o aplicativo RM.AliasManager e na aba Servios dever marcar a opo Habilitar
Processamento de Job:



Para incluso da tag referente ao AppServer dever acessar os arquivos RM.Host.exe.config, RM.exe.config,
RM.Host.Service.exe.config,RM.AliasManager.exe.config que ficam localizados na pasta RM.NET, dentro da pasta de cada
um dos aplicativos a tag tambm dever ser includa, por exemplo, para o RMLabore dever acessar o arquivo
RMLabore.exe.config.



5. Caching
Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013

O browser tem a capacidade de manter objetos em cache para diminuir o tempo gasto com a transferncia destes
objetos at o cliente. Isto permite um melhor desempenho no tempo de resposta das pginas.

Configurando o cache de sada do IIS:

Aplica-se a: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista.
No IIS 7, voc pode configurar o cache de sada para aprimorar o desempenho no servidor Web e no web site. Quando
um usurio solicitar uma pgina da Web, o IIS processar a solicitao e retornar uma pgina ao navegador cliente. Se
voc habilitar o cache de sada, uma cpia dessa pgina da Web processada ser armazenada na memria no servidor
Web e retornada aos navegadores cliente nas solicitaes subseqentes para esse mesmo recurso. Isso elimina a
necessidade de reprocessar a pgina sempre que ela for solicitada. Isso til quando o seu contedo depender de um
programa externo para processamento, como com um programa CGI, ou incluir dados de uma fonte externa, como de um
compartilhamento ou banco de dados remoto.

Para criar uma regra de cache de sada. possvel realizar este procedimento usando a UI (interface de usurio) ou uma
linha de comando. Para usar a UI.

Abra o Gerenciador do IIS e navegue at o nvel que deseja gerenciar.
Para obter mais informaes sobre como abrir o Gerenciador do IIS, consulte IIS 7.0: Abrir o gerenciador do IIS.
Para obter informaes sobre como navegar at locais na interface do usurio, consulte IIS 7.0: Navegao no
gerenciador do IIS.

Em Exibio de Recursos, clique duas vezes em Cache de Sada.
No painel Aes, clique em Adicionar.
Na caixa de dilogo Adicionar Regra de Cache, na caixa Extenso de nome de arquivo, insira a extenso de nome de
arquivo, como .aspx, para a qual deseja criar uma regra de cache.
Marque a caixa de seleo Cache de modo de usurio para habilitar o cache de sada e selecione uma das seguintes
opes:

Usando notificaes de alterao de arquivo: se quiser que um item seja removido do cach quando for atualizado.
Em intervalos (hh:mm:ss): se quiser que um item seja removido do cache depois que determinado tempo decorrer.
Em seguida, digite uma hora no formato de hh:mm:ss (onde h so horas, m so minutos e s so segundos) na caixa
correspondente.

6. Compresso de pginas

A compresso de pginas HTTP aumenta a velocidade de transmisso entre browsers com a compresso ativada no IIS.
possvel comprimir apenas pastas estticas ou arquivos estticos e aplicaes.
Fazendo uma analogia, compactar objetos da pgina via server semelhante a zipar um arquivo grande para enviar por e-
mail: voc (servidor web) zipa um grande da famlia (o componente da pgina) retrato e envia por e-mail para seu amigo
(o browser) que, por sua vez, descompacta o arquivo zip para ver a imagem.
Os mtodos de compresso mais comuns so Deflate e gzip.

Para ativar o IIS a comprimir pginas .aspx, siga estes passos:

Abra uma linha de comandos (CMD).
Execute o comando: net stop iisadmin (pressioneENTER)
Acesse o diretrio C:\InetPub\adminscripts

Comando: cd C:\InetPub\adminscripts


Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
Execute o seguinte comando, pressionando ENTER ao final: Dll "exe cscript.exe ADSUTIL.VBS SET
W3SVC/Filters/compresso/GZIP/HcScriptFileExtensions"asp"" "aspx"
Execute o seguinte comando, pressionando ENTER ao final: aspx"cscript.exe ADSUTIL.VBS SET
W3SVC/Filters/compresso/DEFLATE/HcScriptFileExtensions"asp""dll""exe""
Execute o comando: net start w3svc e na linha de comando para iniciar o IIS.

7. Triggers

A existncia de triggers na base de dados podem evidenciar overheads nos processamentos de tarefas do banco de dados
que interferem na performance das aplicaes. Abaixo disponibilizamos comandos para desabilitar e habilitar triggers no
banco de dados para realizao e testes de performance.

Sentena para verificao da existncia de triggers na base de dados:

SQL Server:
SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME NOT LIKE 'Log%'

Oracle:
SELECT TRIGGER_NAME FROM USER_TRIGGERS WHERE TRIGGER_NAME NOT LIKE 'Log%';

Desabilitando as triggers para avaliao do desempenho das rotinas:

SQL Server:

SELECT DISTINCT 'ALTER TABLE ' +OBJECT_NAME(PARENT_OBJ)+' DISABLE TRIGGER ' + NAME
FROM SYSOBJECTS S3
WHERE TYPE='TR'

Oracle:

SELECT 'ALTER TABLE '||TABLE_NAME||' DISABLE ALL TRIGGERS;' FROM DBA_TRIGGERS WHERE TABLE_OWNER='RM'

Para habilitar novamente as triggers:

SQL Server:

SELECT DISTINCT 'ALTER TABLE ' +OBJECT_NAME(PARENT_OBJ)+' ENABLE TRIGGER ' + NAME
FROM SYSOBJECTS S3
WHERE TYPE='TR'

Oracle:

SELECT 'ALTER TABLE '||TABLE_NAME||' ENABLE ALL TRIGGERS;' FROM DBA_TRIGGERS WHERE TABLE_OWNER='RM'

8. Atualizao das estatsticas do banco de dados:

As estatsticas coletadas pelo banco de dados propiciam um melhor desempenho para realizar pesquisas nas tabelas,
atravs de um plano de execuo mais eficiente, estatsticas desatualizadas podem degradar a performance do banco de
dados.




Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
9. "Auto create statistics" e "Auto update statistics":

As opes da database "Auto create statistics" e Auto update statistics podem levar a gerao automtica de um nmero
grande de objetos de estatsticas, e o tempo necessrio para sua atualizao pelo banco de dados provavelmente
implicar em perda de desempenho.

10. Limpeza de objetos temporrios na base de dados:

A limpeza peridica de registro de log e arquivo morto pode beneficiar bastante a execuo de consultas e manipulao
de dados nestas tabelas.

11. Monitoramento do log do banco de dados:

Problemas com o desempenho podem ter origem em eventos que so registrados no log do banco de dados, como por
exemplo, falhas na leitura de pginas do banco, deadlocks, etc, por isto recomendamos o monitoramento do log do
banco de dados.

12. Reindexao peridica das tabelas:

A reindexao peridica das tabelas sumariamente necessria para o bom desempenho das aplicaes, uma vez que
este procedimento desfragmenta os ndices das tabelas, proporcionando uma maior eficcia no processo de pesquisa no
ndice.

13. Virtualizao:

A virtualizao tem como objetivo ampliar a estabilidade do ambiente, mas pode gerar overhead no processamento dos
dados, h duas maneiras de separar as aplicaes SQL Server em unidades lgicas de isolamento. Um deles para
executar o SQL Server em vrias instncias dentro de um ambiente fsico.
Outra maneira executar o SQL Server dentro de um ambiente virtual, executando vrias instncias do SQL Server em um
ambiente fsico isolando cada instncia no nvel do aplicativo, em outras palavras, cabe a cada instncia do SQL Server
isolar os recursos do sistema, dados e segurana dos outros.
importante notar que um dos benefcios de um ambiente virtual que ele pode executar qualquer sistema operacional
suportado pela aplicao da tecnologia virtual. Por exemplo, um ambiente virtual pode estar executando o Windows
Server 2003, outro pode executar o Windows NT 4.0, e ainda um outro pode executar o Windows Server 2000. Um
ambiente virtual consiste em uma ou mais mquinas virtuais.
O responsvel pelo banco de dados da empresa dever ficar atento ao virtualizar o servidor de banco de dados para no
comprometer o desempenho do hardware, ou seja, sobrecarregar este servidor com vrios ambientes virtualizados.

14. Paralelismo

Atualmente, vivemos em uma era em que os microprocessadores so dominados por mltiplos ncleos, recomendvel
sempre procurar explorar o paralelismo em banco de dados, a explorao de paralelismo deve ser considerada quando
for necessrio otimizar instrues SQL.

O SQL Server detecta automaticamente o melhor grau de paralelismo para cada instncia de uma execuo de consulta
paralela operao DDL (linguagem de definio de dados) do ndice. Isso feito baseado nos seguintes critrios:

Se o SQL Server estiver sendo executado em um computador que tenha mais de um microprocessador ou mais
de uma CPU, como um computador SMP (multiprocessamento simtrico). Apenas computadores que tm mais
de uma CPU podem usar consultas paralelas.



Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
Se houver threads suficientes disponveis.
Cada operao de consulta ou ndice exige um determinado nmero de threads para execuo. A execuo de
um plano paralelo exige mais threads que um plano consecutivo, e o nmero de threads exigidos aumentam
com o grau de paralelismo.
Quando o requisito de thread do plano paralelo de um grau especfico de paralelismo no puder ser atendido, o
Mecanismo de Banco de Dados diminuir automaticamente o grau de paralelismo ou abandonar
completamente o plano paralelo no contexto de carga de trabalho especificado. Depois, ele executar o plano
consecutivo (um thread).

O tipo de operao de consulta ou de ndice executada.
As operaes de ndice que criam ou reconstroem um ndice, ou descartam um ndice cluster e as consultas que
usam ciclos de CPU freqentemente so as melhores opes para um plano paralelo. Por exemplo, junes de
tabelas grandes, agregaes grandes e classificao de conjuntos de resultados grandes so boas alternativas. As
consultas simples, freqentemente encontradas em aplicativos de processamento de transaes, localizam a
coordenao adicional exigida para executar consulta em paralelo que supera o aumento de desempenho
potencial. Para distinguir as consultas que se beneficiam de paralelismo das que no se beneficia, o Mecanismo
de Banco de Dados compara o custo estimado da execuo da operao de consulta ou ndice com o valor cost
threshold for parallelism. Embora no recomendado, os usurios podem alterar o valor padro 5 usando
sp_configure.

Se houver um nmero suficiente de linhas para processar.
Se o otimizador de consulta determinar que o nmero de linhas muito baixo, no apresentar os operadores
de troca para distribuir as linhas. Por conseguinte, os operadores sero executados em srie. A execuo dos
operadores em um plano consecutivo evita cenrios quando os custos de inicializao, distribuio e
coordenao excedem os ganhos alcanados pela execuo de operador paralela.

Se as estatsticas de distribuio atuais estiverem disponveis.
Se o grau mais alto de paralelismo no for possvel, os graus inferiores sero considerados antes de o plano
paralelo ser abandonado. Por exemplo, quando voc criar um ndice cluster em uma exibio, no podero ser
avaliadas estatsticas de distribuio, porque o ndice cluster ainda no existir. Nesse caso, o Mecanismo de
Banco de Dados no poder fornecer o grau mais alto de paralelismo para a operao de ndice. Porm, alguns
operadores, como de classificao e verificao, ainda podero se beneficiar da execuo paralela.

15. Avaliao de ndices:

Auditar e usar ndices no uma tarefa fcil, mas fundamental para elevar a performance no banco de dados.

Tipos de avaliao:

Indexes (Clustered)
Indexes (Composio)
Indexes (Covering)
Indexes (Non-clustered)
Indexes (Rebuild)
Index Tuning Wizard

16. Memria SQL:

Deixar disponvel o mximo de memria que poder ser utilizada pelo SQL Server sem que isto atrapalhe outros
processos que estiverem rodando no servidor, esta anlise dever ser feita pelo DBA da empresa.


Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
Acessar o Microsoft SQL Server conectando ao servidor, em seguida clicar com o boto direito sobre a instncia e
clicar em Properties:



Clicar na opo Memory e nos campos referente a Server memory options dever preencher os campos
Minimum server memory(in MB),este campo com o mnimo de memria que o Server ir utilizar e preencha
tambm o campo Maximum server memory (in MB) com o mximo de memria que o Server poder utilizar do
servidor.


Boletim Tcnico

Banco de Dados (Site Belo-Horizonte) 03/2013
17. Processos bloqueados no banco de dados:

O procedimento sp_who serve para ter uma viso geral sobre as conexes existentes e verificar se existe alguma conexo
bloqueada (Block), est uma tarefa que dever ser executada pelo responsvel pelo banco de dados na empresa.

18. Antivrus:

Algumas rotinas nas aplicaes utilizam-se de recursos temporrios gravados em disco que so freqentemente
recriados, gerando um nmero muito grande de acessos ao disco, e o monitoramento por um antivrus durante esta
tarefa gera atrasos no processamento da aplicao.

19. BDE:

O BDE pode ser otimizado para beneficiar algumas rotinas da aplicao, mas uma vez que isto seja feito sem algum
critrio poder incorrer na perda de desempenho para alocao e gerenciamento dos recursos de memria e CPU.
A utilizao de valores muito altos para BLOB SIZE, BLOBS TO CACHE e MAXFILEHANDLES pode levar a um menor
desempenho de algumas rotinas. A necessidade de incrementar estes parmetros se dar pelo volume de informaes
processadas em cache nestas rotinas.
No ambiente do DataCenter foi ajustado o parmetro BLOB SIZE de 3000 para 512. Este parmetro pode ser configurado
com valores > 32 e < 1000, portanto o valor antigo era invlido.

Sugerimos as seguintes configuraes:

Database:
BLOB SIZE = 512
BLOBS TO CHACHE = 1024

Configuration Native MSSQL:
TIMEOUT = 7200

Configuration System Init:
MAXFILEHANDLES = 2048
MEMSIZE = 205

20. TSS:

TSS o aplicativo que faz a intermediao do TOTVSSped com os vrios tipos de banco de dados com os quais ele pode
trabalhar. So eles: DB2, MSSQL, Oracle, Informix, PostGres, MySQL. O TopConnect deve ser instalado somente em uma
estao. Por poder trabalhar com vrios tipos de banco de dados no necessrio que o mesmo seja para a base do
Corpore RM e apontado tambm no necessrio que o mesmo seja instalado em seu servidor de banco de dados.
aconselhada a criao de uma base de dados exclusiva para o SPED devido ao fato do processo gerar muitos registros e
do servio de consulta de autorizao das notas ser executado com muita frequncia nas suas tabelas. Caso deseje ele
pode apontar o TopConnect para sua base do Corpore RM. A escolha da base de dados e do banco para o SPED fica a
cargo do cliente. Uma vez definido o banco e a base a ser utilizada isto no poder ser refeito sem a perda de dados da
base do SPED.

Para orientao na configurao do TSS acesse nosso blog:
http://www.totvsconnect.blogspot.com/2010/12/dica-configuracao-tss.html

Das könnte Ihnen auch gefallen