sexta-feira, fevereiro 17, 2017

Desempenho com ADASAV

BUFNO O tempo decorrido para backup/restauração é de óbvia importância para muitas instalações. Esta solicitação tenta solucionar alguns dos principais problemas e parâmetros, que afetarão o tempo decorrido de uma operação de backup/restore. Para simplificar a discussão vou me concentrar na função de backup, mas ele se aplicará igualmente à função de restauração.

De ADABAS 524 ADASAV suporta programas de canais ECKD e ADA ira ler E/S do Cilindro, quando aplicável. ADAIOR usa QSAM para produzir a saída seqüencial DDSAVE, geralmente para fita tipo 3480 ou 3490.

Para reduzir o tempo decorrido, é importante sobrepor a leitura do disco e a gravação para a fita e isso pode ser realizado em um alto grau. Através do uso do parâmetro drives, várias operações de leitura e gravação simultâneas podem ser ativas e, se bem-sucedidas, a taxa de transferência máxima será limitada pela capacidade total do canal disponível para ler o banco de dados ou mais provavelmente a capacidade total do canal para gravar em fita, o que for menor.

Este é, contudo, um limite teórico, numerosos benchmarks mostram que não é realmente possível atingir tais taxas de transferência e um limite superior mais prático para a taxa de dados eficaz é de cerca de 80% da capacidade do canal instalado.

Por exemplo, um banco de dados residente em 3390s, acessível através de um controlador 3990 geralmente tem 4 pathes anexado, que tem uma capacidade total do canal de 4 vezes 4,2 Megabytes por segundo ou 16,8 Megabytes por segundo. Se a saída for para unidades de fita que residem em 2 unidades de controle que estão ligadas a canais de 3 megabytes, a capacidade total é de 6 Megabytes por segundo e o limite prático será de cerca de 5 Megabytes por segundo.

Como mostra este exemplo, em muitas instalações hoje o subsistema do canal de fita pode ser o fator limitante, mas muito depende das instalações de hardware atuais e da implementação de recursos como o IDRC entre outros. OVERLAP das operações READ/WRITE e o efeito de BUFNO e ECKD. Para sobrepor operações de READ e WRITE, é importante compreender como funciona o QSAM e como isso afeta o ADASAV.

Se o número de buffers disponíveis para QSAM for pequeno ou o padrão de em vigor estiver definido como de 5, o QSAM aguardará até que todos os buffers estejam cheios e somente então schedula uma operação de E/S encadeada para esvaziar esses buffers. Quando ADASAV passa outro registro para QSAM antes que esses buffers estejam vazios o QSAM colocará ADASAV em uma espera. Uma vez que o ADASAV perde o controle, não pode ser operada qualquer operação de E/S simultânea para outro acionamento. Quando muitos buffers são especificados, geralmente através do parâmetro BUFNO DCB, o QSAM iniciará uma E/S quando 240K de buffers estiverem cheios ou 31 buffers estiverem cheios, o que for menor.

Como ADASAV usa 32K buffers, o QSAM não iniciará mais de 8 buffers em uma E/S. Se mais de 8 buffers forem especificados, ADASAV será capaz de passar registros para QSAM, enquanto QSAM tem I/Os pendentes. Considere o que acontece quando o ADAIOR lê E/S de cilindro. Isto trará entre 700 e 800 Kilobytes de dados totalizando cerca de 30 buffers QSAM, dependendo do banco de dados blocos (device type) em uso porque ADASAV irá gravar o conteúdo usado de um bloco como um registro para QSAM, por isso deve caber em um bloco QSAM.

Se o BUFNO for definido como 5 no DCB, 5 blocos serão preenchidos e o ADASAV será posto em espera, após o que este processo se repete 6 vezes antes que o ADASAV recupere o controle e possa ler outro cilindro. Muito pouca sobreposição ocorrerá nem haverá muita simultaneidade, quando o parâmetro de unidade foi especificado. Em alguns casos, os dispositivos CKD com E/S de faixa podem ter um desempenho melhor, pois haverá mais sobreposição e simultaneidade. É muito importante especificar um número correto de BUFNO como um sub-parâmetro DCB.

Recomendações:

Quando dispositivos CKD e E/S de faixa estiverem em uso, um BUFNO de 16 deve ser suficiente. Uma vez que uma faixa normalmente se encaixam em 2 buffers QSAM - a exceção poderia ser um tamanho de bloco definido pelo usuário de 18K, que poderia precisar de 3 buffers para uma faixa 3390 - ADASAV será capaz de preencher os restantes 8 buffers QSAM, enquanto os primeiros 8 buffers são Transferidos para a fita, permitindo a sobreposição.

Quando os dispositivos ECKD e as E/S do cilindro estão em uso, são necessários muitos mais buffers, porque um cilindro de leitura precisa de até 30 buffer QSAM. Uma vez que até 8 memórias intermédias QSAM já estão preenchidas mas ainda não foram escritas, o mínimo recomendado seria um BUFNO de 38 para evitar longas esperas QSAM. Um valor ainda mais elevado pode melhorar o desempenho, mas em menor grau. Até mesmo 38 buffers de 32K requerem armazenamento virtual de 1216K por unidade ou instrução ddsave. E esses buffer residem abaixo do limite de 16 MB e precisam ser pagefixed durante a operação de E/S nos primeiros 16 MB de armazenamento central.

O exemplo acima pressupõe que os blocos estão cheios, porém desde Adasav grava para fora com uma variável blocksize dependendo de quanto dados usados ​​de blocos completos de ASSO ou DATA na seqüência caberão dentro de 32K pode ser que 8 blocos de QSAM não compõem 240K. Portanto QSAM pode gravar mais de 8 buffers em um I/O e o minimo de DCB=BUFNO deve ser ligeiramente superior para o bom desempenho, uma especificação BUFNO de 42 deve ser ok.

Se o parâmetro drive for especificado, é melhor reduzir o número de unidades de fita do que comprometer o parâmetro BUFNO DCB. É muito importante entender que o parâmetro ADASAV BUFNO não deve ser confundido com o parâmetro BUFNO DCB.

Com o parâmetro ADASAV BUFNO várias Read I/Os para o mesmo disco podem ser agendadas simultaneamente. Este parâmetro é de valor muito limitado, quando o subsistema de fita é o fator limitante e pode degradar o desempenho devido a espera QSAM. Com cilindro I/Os não é sugerido para aumentar o ADASAV BUFNO parâmetro, a menos que o DCB BUFNO parâmetro é aumentado igualmente em etapas de 30 buffers e as implicações de armazenamento virtual e fixa abaixo de 16 Megabyte considerado. Mesmo assim, as melhorias de desempenho podem ser menores do que o esperado. Para faixa de I/Os pode haver alguma melhoria desde que o parâmetro DCB BUFNO seja pelo menos (8 mais 2 vezes ADASAV BUFNO) ou 16, o que for maior.

O parâmetro drives pode aumentar o desempenho gravando simultaneamente para diferentes unidades de banda. O número de unidades depende novamente da velocidade do dispositivo de fita e do canal. Nas atuais 3480 ou 3490 fitas e a velocidade de canal de 3 megabytes mais desempenho é obtido, quando uma unidade está ativo por canal, após o qual ganhos de desempenho adicionais por unidade são muito menores e pode ser mais benéfico para especificar drives alternativos para evitar QSAM espera durante rebobinar (3480) processamento.

Com velocidades de canal mais elevadas, em particular se os canais ESCON estiverem instalados no subsistema de canal de fita, podem ser especificadas muitas mais unidades, uma vez que uma unidade não conseguirá forçar o canal. Se houver unidades de controle de fita separadas, é importante que diferentes unidades sejam alocadas em diferentes subsistemas de fita. Novamente, as implicações de armazenamento precisam ser consideradas. Se vários ADASAV para bancos de dados diferentes forem iniciados simultaneamente, o número de páginas fixadas para cada unidade em cada trabalho precisa ser considerado. Com Cylinder I/Os pelo menos 200 páginas serão corrigidas durante uma E/S por unidade.

O MVS não aumentará o nível de multiprogramação quando mais de 82% (padrão) dos primeiros 16 MB de Armazenamento Central tiverem sido pagefixed (3358 frames), começará a reduzir o nível de multiprogramação trocando trabalhos que têm um monte de páginas fixas , Quando mais de 88% dos primeiros 16 MB de armazenamento central foram pagefixed (3600 quadros) e MVS enviará uma mensagem quando 92% (padrão, 3764 quadros) foram pagefixed, que existe um armazenamento paginável insuficiente.

Claro o ADASAV não será o único no sistema, que corrige páginas. O acima precisa de uma pequena correção. Desde ADASAV grava para fora com uma variável blocksize, dependendo de quanto os dados usados ​​de ASSO completa - ou blocos de dados na seqüência caberão dentro de 32K.

Por essa razão pode ser que 8 blocos QSAM não compõem 240K. Portanto QSAM pode escrever mais de 8 buffers em uma E/S e o mínimo DCB=BUFNO deve ser ligeiramente superior para um bom desempenho, uma especificação BUFNO de 42 deve ser ok.

Retirado

Por Rainer Herrmann, Software AG

0 comentários:

Enviar um comentário