performance

Entendendo e otimizando a conectividade entre Cliente / Servidor.

Observação: Estas configurações *não* são validas apenas para o protocolo onipcshm (IPC Shared Memory)

Entendendo como funciona a alocação de buffers para comunicação


Como e onde monitorar checkpoints?

  • Ativar trace do checkpoint definindo a variável TRACECKPT = 1 antes de iniciar o banco(esta variável tem efeito apenas após versão 9.40).

Como identificar problemas de performance / lentidão

Quando temos um banco de dados que está apresentando lentidão não proporcional a carga do sistema (usuários, dados) e capacidade de processamento do hardware (CPU, memória e I/O de disco) o trabalho de identificar a causa desta lentidão é algo que considero um trabalho de detetive. Resolver esta lentidão já é um outro problema pois você poderá depender de terceiros.

Neste artigo não tenho como passar todas as técnicas e detalhes de como realizar este trabalho, mas irei passar algo como um checklist do que você deve verificar.

Alguns cuidados com tabelas fragmentadas por expressão


Trabalhar com tabelas/indices fragmentados pode ajudar muito em situações como:

  • Tabelas/indices grandes com mais de 32 GBytes ou 16 milhões de registros
  • Performance de I/O para acesso a dados de Históricos
  • Performance de I/O paralelo (set pdqpriority) em diferentes discos (fisicos).
  • Expurgar dados antigos do banco sem necessidade de realizar longas paradas ou sobrecarga

Vantagens e desvantagens do DIRECT_IO

DIRECT_IO é uma alternativa a utilização de Cooked File e RAW devices.
Ele é um recurso de Sistema Operacional + File System que permite que a aplicação faça a gravação de dados diretamente no device, ignorando o cache de file system.

Onde o banco gera as tabelas temporárias

Tabelas temporárias no Informix são únicas na sessão em execução , são automaticamente excluídas quando a sessão finaliza , mesmo em caso de interrupção abrupta da conexão ou execução da instancia.

Testes práticos de performance com FET_BUF_SIZE e opção "b" do SQLHOSTS

Este artigo descreve os resultados de alguns testes de performance que realizei quando parametrizado a váriavel de ambiente FET_BUF_SIZE e opção "b" do SQLHOSTS. Estes testes estão relacionados ao throughtput de rede

Performance com HDR em ambiente não favorável

Antes quero lembrar que a configuração de alta disponibilidade com recurso de HDR está disponível desde a versão 7.3 do Informix e devido sua arquitetura exige boa capacidade de comunicação entre as maquinas além de bom processamento na maquina secundária.

Quando criado um índice baseado em uma função (UDF) quais os cuidados a tomar?

Até a versão 11.10 não foi possível identificar como executar um update statistcs especifico para o índice da função.

O buffer especificado pelo FET_BUF_SIZE é compartilhado entre os cursores?

O objetivo aqui é identificar como o FET_BUF_SIZE trabalha quando houver mais de um cursor de insert ou update. Se todos os cursores compartilham o mesmo buffer ou não (insert buffer) .

Este teste é importante para o desenvolvedor em situações que esta variável ( FET_BUF_SIZE ) é parametrizado com intuição de melhorar performance da aplicação que realiza muita inclusão de dados.