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]