- Fórum
- Protheus/Microsiga/Totvs
- Instalação e Configuração Protheus
- Dicas e Informações
- Dicas Desempenho Protheus / Banco de dados
Perguntas Dicas Desempenho Protheus / Banco de dados
- henry.charriere
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 492
- Obrigados Recebidos: 0
10 anos 11 meses atrás #19473
por henry.charriere
Dicas Desempenho Protheus / Banco de dados foi criado por henry.charriere
Pessoal, Bom dia!
Pesquisando uma forma de otimizar meus serviços de banco e do protheus, encontrei essas dicas no SIGA-BR.
Eu dividiria sua pergunta em duas.
1. como deixar a aplicação mais rápida.
R.:
1.1 Rodar diariamente defrag (O&O Defrag muito bom e barato)
1.2. manter a pasta \system\ com o minimo de arquivos possíveis, pois ha cada acesso o Protheus lê tudo
1.3 retirar os arquivos de envio e retorno de CNAB (pouca gente lembra de muda-los de local)
1.4 desfragmentar repositório semanalmente via TDS ou IDE (antigo) tem gente que nao conhece isso.
1.5 derrubar todos os serviços todos os dias se possível.
1.6 não recomento virtualizações para grandes ambientes com muitos slaves, jobs, webservices.
1.7 uma vez a cada 3 meses eu dou pack em todos os SX's e excluo os CDX.
1.8 evitar compartilhamento do RPO.
2. como deixar o banco de dados mais veloz. (no meu caso SQL Server)
R.
2.1 não recomento virtualizações para grandes ambientes.
2.2 rodar diariamente update de estatísticas.
2.3 rodar reorganize index diario.
2.4 rodar REBUILD semanal.
2.5 deixar um log com tamanho em multiplus de 8 Gb, mesmo que ele nunca chegue a esse tamanho e quando passar disto aumentar para 16 Gb e assim por diante.
2.6 compactar todas as tabelas e indices ( isso so vale para versões ENTERPRISE do SQL).
Quero deixar bem claro que isso reduziu o tamanho do banco em 50% e nada ficou mais lento e ao contrario ficou tudo bem rapidinho, mas seu servidor tem que ter bom processamento disponível pois a compactação do SQL aumenta o consumo de CPU, mas valeu a pena muito e mais um detalhe demora bastante a execucao da compactacao de tudo ao mesmo tempo, mas isso voce pode rodar por empresa.
Meus backups ficaram mais rapidos e os restores tambem, pois o banco ficou 50% menor.
Essa dica me foi passado por um DBA amigo meu e ate hoje nao me arrependo de ter aplicado no meu servidor de producao. kkk
A query para compactar tudo segue abaixo e eu rodo toda semana, pois o protheus cria novas tabelas diariamente.
select * from (
--- inicio da query
SELECT 'alter table ' + name + ' rebuild with (data_compression=page) ' AS 'COMANDO' FROM sysobjects
WHERE name NOT IN ('dtproperties','sysdiagrams') and type = 'U'
union all
SELECT isnull('alter index ' + i.name + ' on ' + t.name + ' rebuild with (data_compression=page) ' ,'') AS 'COMANDO'
FROM sys.indexes i
JOIN sys.tables t on i.object_id = t.object_id
JOIN sys.sysobjects y on y.name = t.name and y.type = 'U'
--WHERE substring(i.name,4,3) in ( '010','100','700') where i.name <> ''
) TEMP
order by COMANDO desc
--- fim da query
depois de rodar a query acima execute o Shrink no banco e apos terminado rode o REBUILD dos indices e por ultimo um bkp full.
segue duas DICAS que nao abro mão de forma nenhuma.
1. NAO TENHA AMBIENTE TESTE NO SERVIDOR DE PRODUCAO.
2. NAO TENHA BANCOS DE TESTES no servidor de produção.
Para ambientes de TESTE compre uma maquina simples, mas nao compartilhe nada com a producao ha nao ser o servidor de licenças porque isso voce vai precisar sempre e quanto ao TOP ele ira ficar com duas licenças disponíveis.
link; br.groups.yahoo.com/group/siga-br/message/156272
Usuário; Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.
Pesquisando uma forma de otimizar meus serviços de banco e do protheus, encontrei essas dicas no SIGA-BR.
Eu dividiria sua pergunta em duas.
1. como deixar a aplicação mais rápida.
R.:
1.1 Rodar diariamente defrag (O&O Defrag muito bom e barato)
1.2. manter a pasta \system\ com o minimo de arquivos possíveis, pois ha cada acesso o Protheus lê tudo
1.3 retirar os arquivos de envio e retorno de CNAB (pouca gente lembra de muda-los de local)
1.4 desfragmentar repositório semanalmente via TDS ou IDE (antigo) tem gente que nao conhece isso.
1.5 derrubar todos os serviços todos os dias se possível.
1.6 não recomento virtualizações para grandes ambientes com muitos slaves, jobs, webservices.
1.7 uma vez a cada 3 meses eu dou pack em todos os SX's e excluo os CDX.
1.8 evitar compartilhamento do RPO.
2. como deixar o banco de dados mais veloz. (no meu caso SQL Server)
R.
2.1 não recomento virtualizações para grandes ambientes.
2.2 rodar diariamente update de estatísticas.
2.3 rodar reorganize index diario.
2.4 rodar REBUILD semanal.
2.5 deixar um log com tamanho em multiplus de 8 Gb, mesmo que ele nunca chegue a esse tamanho e quando passar disto aumentar para 16 Gb e assim por diante.
2.6 compactar todas as tabelas e indices ( isso so vale para versões ENTERPRISE do SQL).
Quero deixar bem claro que isso reduziu o tamanho do banco em 50% e nada ficou mais lento e ao contrario ficou tudo bem rapidinho, mas seu servidor tem que ter bom processamento disponível pois a compactação do SQL aumenta o consumo de CPU, mas valeu a pena muito e mais um detalhe demora bastante a execucao da compactacao de tudo ao mesmo tempo, mas isso voce pode rodar por empresa.
Meus backups ficaram mais rapidos e os restores tambem, pois o banco ficou 50% menor.
Essa dica me foi passado por um DBA amigo meu e ate hoje nao me arrependo de ter aplicado no meu servidor de producao. kkk
A query para compactar tudo segue abaixo e eu rodo toda semana, pois o protheus cria novas tabelas diariamente.
select * from (
--- inicio da query
SELECT 'alter table ' + name + ' rebuild with (data_compression=page) ' AS 'COMANDO' FROM sysobjects
WHERE name NOT IN ('dtproperties','sysdiagrams') and type = 'U'
union all
SELECT isnull('alter index ' + i.name + ' on ' + t.name + ' rebuild with (data_compression=page) ' ,'') AS 'COMANDO'
FROM sys.indexes i
JOIN sys.tables t on i.object_id = t.object_id
JOIN sys.sysobjects y on y.name = t.name and y.type = 'U'
--WHERE substring(i.name,4,3) in ( '010','100','700') where i.name <> ''
) TEMP
order by COMANDO desc
--- fim da query
depois de rodar a query acima execute o Shrink no banco e apos terminado rode o REBUILD dos indices e por ultimo um bkp full.
segue duas DICAS que nao abro mão de forma nenhuma.
1. NAO TENHA AMBIENTE TESTE NO SERVIDOR DE PRODUCAO.
2. NAO TENHA BANCOS DE TESTES no servidor de produção.
Para ambientes de TESTE compre uma maquina simples, mas nao compartilhe nada com a producao ha nao ser o servidor de licenças porque isso voce vai precisar sempre e quanto ao TOP ele ira ficar com duas licenças disponíveis.
link; br.groups.yahoo.com/group/siga-br/message/156272
Usuário; Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.
Por favor Acessar ou Registrar para participar da conversa.
- CaioTostes
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 80
- Obrigados Recebidos: 0
10 anos 11 meses atrás #19512
por CaioTostes
Respondido por CaioTostes no tópico Dicas Desempenho Protheus / Banco de dados
Show de bola as dicas. Poderia me explicar melhor o item 2.6 do BD?
Por favor Acessar ou Registrar para participar da conversa.
- wilyman
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 1
- Obrigados Recebidos: 0
9 anos 11 meses atrás #26666
por wilyman
Respondido por wilyman no tópico Dicas Desempenho Protheus / Banco de dados
Esse é o meu primeiro post, ótimas dicas, porém infelizmente no meu caso muitas ou praticamente tudo dito nas dicas eu nunca fiz
Vou aproveitar um hiato que a empresa vai fazer nesse fim de ano para eu estar dando uma arrumada no servidor Photeus.
A principio o servidor de produção e testes é um só tem 2 bancos de sql, os logs beiram centenas de gigabytes, para uma base de 16GB
Desfragmentar? nunca foi feito, estou começando a pegar o servidor agora, o analista foi embora e deixou a bronca comigo, eventualmente quase todo dia vejo problemas de conexão interrompida e para uma licença full, tenho que limitar as janelas para os usuários senão ninguém acessa.
Essas dicas é um grande tapa na cara para os analistas que só pensam em desenvolver e apagar incêndios mas nada de cuidar da floresta que é o servidor do photeus, onde a vida da empresa se encontra ali.
Valeu
Vou aproveitar um hiato que a empresa vai fazer nesse fim de ano para eu estar dando uma arrumada no servidor Photeus.
A principio o servidor de produção e testes é um só tem 2 bancos de sql, os logs beiram centenas de gigabytes, para uma base de 16GB
Desfragmentar? nunca foi feito, estou começando a pegar o servidor agora, o analista foi embora e deixou a bronca comigo, eventualmente quase todo dia vejo problemas de conexão interrompida e para uma licença full, tenho que limitar as janelas para os usuários senão ninguém acessa.
Essas dicas é um grande tapa na cara para os analistas que só pensam em desenvolver e apagar incêndios mas nada de cuidar da floresta que é o servidor do photeus, onde a vida da empresa se encontra ali.
Valeu
Por favor Acessar ou Registrar para participar da conversa.
- ftvernier
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 386
- Obrigados Recebidos: 2
9 anos 11 meses atrás #26667
por ftvernier
Respondido por ftvernier no tópico Dicas Desempenho Protheus / Banco de dados
Henry as dicas são excelentes,
Você poderia nos explicar como fazer os processos abaixo?
2.2 rodar diariamente update de estatísticas.
2.3 rodar reorganize index diario.
2.4 rodar REBUILD semanal.
2.5 deixar um log com tamanho em multiplus de 8 Gb, mesmo que ele nunca chegue a esse tamanho e quando passar disto aumentar para 16 Gb e assim por diante.
2.6 compactar todas as tabelas e indices ( isso so vale para versões ENTERPRISE do SQL).
Obrigado.
Você poderia nos explicar como fazer os processos abaixo?
2.2 rodar diariamente update de estatísticas.
2.3 rodar reorganize index diario.
2.4 rodar REBUILD semanal.
2.5 deixar um log com tamanho em multiplus de 8 Gb, mesmo que ele nunca chegue a esse tamanho e quando passar disto aumentar para 16 Gb e assim por diante.
2.6 compactar todas as tabelas e indices ( isso so vale para versões ENTERPRISE do SQL).
Obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- Instalação e Configuração Protheus
- Dicas e Informações
- Dicas Desempenho Protheus / Banco de dados
Tempo para a criação da página:0.141 segundos