DB/IQ
Economizando com a qualidade
das aplicações DB2 em produção
Sumário
Ambiente
Utilização
Objetivos iniciais
Diagnóstico
Resultados obtidos
Próximos passos
Valores atingidos
Ambiente
Volume de transação
410 milhões de transações CICS/dia
DB2
Versão 8
260 bilhões de linhas em tabelas de produção
66 TB alocados
Maior tabela: 8 bilhões de linhas
Ambiente mainframe – partições
(LPAR)
14
2
2
Desenvolvimento / Teste
2
Homologação
Produção sysplex1
Produção sysplex2
18
Total: 38 partições
Produção Rio
Ambiente - DB2
1
4
7
5
Desenvolvimento / Teste
19
Homologação
Produção - sysplex1
Produção - sysplex2
Rio de janeiro
23
Laboratório
Total: 47 subsistemas distribuídos em 14 DATASHARING
Ambiente - CICS
26
60
Desenvolvimento / Teste
Homologação
176
8
Sysplex1
Sysplex2
Rio de janeiro
19
Total: 289 CICS
Ambiente - consumo
Consumo: CICS + Banco de Dados = 67%
33%
CICS
51%
16%
Capacidade total: 109.410 MIPS
B_DADOS
Utilização DB/IQ
Motivadores
Instruções SQL padronizadas
Redução no consumo de recursos
Melhor análise do ambiente DB2
Relatórios gerenciais
Utilização DB/IQ
Processo
Prospecção de mercado
Pregão eletrônico
Homologação
Treinamento
Implantação
Utilização DB/IQ
Instalado em todos ambientes - 1 dataspace por LPAR
Módulos
QA – Qualidade SQL
IA – Administração de índices
Melhores práticas
Padrões de SQL
Criação de índices
Legado (aplicações existentes)
Ações corretivas
Novas aplicações
Impedir entrada em produção de instruções SQL fora do padrão
Objetivos iniciais
Otimização do espaço em disco
Racionalização de índices
Melhoria no desempenho
Redução nos tempos de execução
Redução no consumo de recursos
Identificação e solução de problemas
Diagnóstico
Ambiente de homologação
1012 índices não usados (340 GB)
Análise: tabelas particionadas, SQL dinâmico, volatilidade de tabelas,
entre outros
210 índices duplicados
Análise: Dependência de pacotes para definir critério de exclusão
6788 índices menores que 10 páginas
Ação a ser definida
Diagnóstico
Produção
8609 índices não usados (total de 5 TB)
Análise: tabelas particionadas, SQL dinâmico, volatilidade de tabelas,
entre outros
209 índices duplicados
Análise: Dependência de pacotes para definir critério de exclusão
Relatório de referência cruzada (índices por tabela)
Análise: Tabelas com até 27 índices, média de 4,4 índices nas tabelas
com mais de 2 índices.
Resultados obtidos
IA
Total de espaço economizado: 37 GB
Exclusão de 122 índices
Melhoria de desempenho decorrente da exclusão de índices
QA
Identificação de instruções SQL com alto consumo (cost factor)
Identificação dos programas com artifício 0=1
Regra S297 - "0=1" type predicate "trick" |
Resultados obtidos
Consumo diário em segundos de CPU de um package.
6000
5000
Segundos de CPU
4000
Elapsed
CPU
3000
2000
Criação do índice
1000
0
2
3
4
7
8
9
10
11
14
15
16
17
Maio
18
21
22
23
24
25
28
29
30
31
Resultados obtidos
Consumo diário em segundos de CPU de um package.
5000
Segundos de CPU
4000
Elapsed
3000
CPU
2000
Retirada do artifício0=1
1000
0,3541
21,2418
0
3
4
7
8
9
10
11
14
15
16
17
Maio
18
21
22
23
24
25
28
29
30
31
Valores
Disco:
Projetado - 5
TB
X
$39.845 = US$ 199.225
X
$38
= US$ 1.406
Projetado - 77.000 Seg/CPU
=
2,14 Processadores
Realizado - 5.000 Seg/CPU
=
0,14 Processadores
Realizado - 37 GB
CPU:
Próximos passos
Colocar o módulo QA para avaliar o SQL dos novos programas
Transferência de módulos
Liberar o módulo EXSQL e EXQA para os analista do
desenvolvimento
Ajustar o processo de criação de índices e tabelas
Habilitar a funcionalidade de trace monitor
Analisar queries dinâmicas
Dúvidas ?
Alvaro Eduardo de A.Peres
Ronaldo Romani
Ernani Enes de Melo
Gerente de Divisão
Gerente de Núcleo
Analista de Informática
Gerência de Planejamento e Controle da
Gerência de Soluções em
Gerência de Planejamento e Controle da
Produção
Infra-estrutura Tecnológica
Produção
(61)3310-9613 – [email protected]
(61)3310-7714 – [email protected]
(61)3310-6678 – [email protected]
Download

Ambiente - InSoft Software GmbH