segunda-feira, 13 de agosto de 2012

Oracle - Tuning de sistema de arquivos


Requisitos: 

- Sistema Operacional: Baseado em RHEL 5/6; 
- Banco de Dados: Para Oracle, mas pode ser utilizado em partes para outros bancos;


Resumo das atividades executadas na aplicação dos parâmetros de tunning:

  • Alterar o elevator atual dos dois discos do sistema:

              echo deadline > /sys/block/sda/queue/scheduler
              echo deadline > /sys/block/sdb/queue/scheduler

*** Lembrando que 'sda' ou 'sdb' são os devices dos HDs onde o banco reside.

  • Alterar elevator padrão, para definir automaticamente na inicialização. Modificado grug.conf adicionando o parâmetro "levator=deadline" na linha do kernel:

        title RHEL (2.6.18-8.el5)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/root elevator=deadline
                  initrd /initrd-2.6.18-8.el5.img

  • Alterar read_ahead_kb no sistema:

             echo 256 > /sys/block/sda/queue/read_ahead_kb
             echo 256 > /sys/block/sdb/queue/read_ahead_kb

*** Lembrando que 'sda' ou 'sdb' são os devices dos HDs onde o banco reside.

  • Alterar read_expire, referente ao elevator, para 300

              echo 300 > /sys/block/sda/queue/iosched/read_expire
              echo 300 > /sys/block/sdb/queue/iosched/read_expire

*** Lembrando que 'sda' ou 'sdb' são os devices dos HDs onde o banco reside.

  • Adicionar linhas no /etc/rc.local para carregar configurações de read_expire e read_ahead na inicialização:

               echo 256 > /sys/block/sda/queue/read_ahead_kb
               echo 256 > /sys/block/sdb/queue/read_ahead_kb
               echo 300 > /sys/block/sda/queue/iosched/read_expire
               echo 300 > /sys/block/sdb/queue/iosched/read_expire

*** Lembrando que 'sda' ou 'sdb' são os devices dos HDs onde o banco reside.

  • Adicionar as seguintes linhas no sysctl.conf:

kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 1024 65000
net.core.wmem_max = 1048576
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.rmem_default = 4194304
fs.file-max = 6815744

vm.swappiness = 60

  • Recarregar as configurações do sysctl:

               sysctl -p

  • Editar o arquivo /etc/security/limits.conf e adicionar as seguintes linhas:

            oracle         soft    nofile  4096
            oracle         hard    nofile  63536
            oracle         soft    nproc   2047
            oracle         hard    nproc   16384

           Esses parâmetros (no limits.conf), uma vez setados, só serão válidos na próxima vez que o banco for levantado, pois são valores setados na sessão do usuário e neste caso a sessão é criada quando o banco é iniciado.

  • Também remountar os volumes com a opção "noatime", desabilitando o registro de horário de acesso aos arquivos.

          Alterar o /etc/fstab, ficando assim:

          /dev/VolGroup00/root    /                       ext3    defaults,noatime        1 1
          /dev/sdb1                        /oracle            ext3    defaults,noatime        1 1

  • Depois, remontar as duas partições:

          mount -o remount /
          mount -o remount /oracle

Nenhum comentário:

Postar um comentário