• Nenhum resultado encontrado

Melhoria de performance

Explicações Básicas

3.15 Melhoria de performance

Como comentando anteriormente, não utilize como ponto de terra os sistemas de aterramento das companhias de eletricidade, telefonia, ar condicionado e sistema de pára-raios.

3.14 Descargas estáticas

É a energia que se acumula durante o choque das moléculas de ar seco ou atrito com outros objetos. Pode acontecer de em dias secos você tomar um “choque” ao abrir seu carro ou tocar em algum objeto metálico, isto é uma descarga estática. Na realidade você não tomou um cho-que, ao tocar em um objeto metálico esta energia é descarregada violentamente. Esta energia pode chegar na ordem de 5 mil volts quando acumulada (assustador não?).

É por este motivo que caminhões que transportam combustível arrastamuma corrente no chão, esta corrente funciona como um aterramento (veja ‘Aterramento’ on page31) eliminando descargas estáticas que possam gerar faíscas e causar um desastre. Pulseiras, cordões, objetos metálicos podem ser usados para eliminar descargas estáticas de pessoas. O contato freqüente com o solo é um método muito útil. Existem casos em que um colar salvou a vida de pessoas atingidas por raio, justamente pelas explicações acima. O colar derrete com a drenagem da eletricidade do raio mas a pessoa tem mais chances de sair viva.

Em indivíduos realmente sensíveis, uma chapinha de metal pode ser colocada no sapato fa-zendo contato com o calcanhar drenando constantemente estas descargas, isto é eficaz e bem melhor que sair arrastando correntes por ai :-)

Se você trabalha com hardwares ou é apenas mais um fuçador de PCs, agora você entenderá porque é recomendável sempre tocar em partes metálicas do computador antes de mexer em qualquer placa e porque aquele seu amigo disse que a placa dele queimou depois que resolveu limpar seus contatos.

3.15 Melhoria de performance

3.15.1 Particionamento

Para um melhor desempenho, os dados que são solicitados constantemente deverão ser arma-zenados em uma partição no inicio do disco rígido. Esta área é a mais rápida e checa a ser 60% mais rápida que o final do HD (em alguns modelos). Em especial, a partição de boot, swap e binários do sistema poderão ser armazenados nesta partição para aumentar a velocidade da carga de programas e não prejudicar a performance do sistema quando o uso da partição de troca (swap) for necessária.

Em discos rígidos grandes (6GB ou maiores) é recomendável criar no mínimo uma partição pequena para/boot, outra para/, outra paraswape outra para/usr. Ficando distribuídas da seguinte maneira no disco rígido:

BBRRRRRRRRRRRRRRRRRRRRR RRRRRRRRRRRRRRRRRRRRRRR SSSSSSSSSSUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUU B - /boot R - Raíz / S - Swap U - /usr

Mas a swap não ficaria ainda mais rápida sendo a primeira partição no disco? Sim e não: Realmente fica rápida (na teoria conforme explicado acima), mas levando em consideração que o deslocamento das cabeças de leitura/gravação do disco rígido leva certo tempo, é mais vantajoso mantê-la entre as 2 partições mais acessadas, isto diminui o tempo de acesso caso um programa esteja fazendo uso constante de/ou/usre precisar trocar dados na partição

swap.

Além do mais, a partição /geralmente é pequena (no máximo 800M) deixando a swap em uma área muito próxima do inicio do disco rígido. Com base nisto, você poderá ter uma melhor visão técnica para a construção de suas partições dependendo da função do sistema.

3.15.2 Spindles

Em sistemas que utilizam um disco rígido dedicado para fazerswap, a ligação deste em uma placa controladora independente aumentará bastante a performance do sistema, pois enquanto o disco principal ligado em sua controladora estiver fazendo uma operação de leitura, o outro poderá estar fazendo sua operação de swap simultaneamente. O mesmo não acontece quando dois discos rígidos IDE estão ligados no mesmo cabo (isto não acontece no SCSI).

3.15.3 Fazendo ajustes finos de performance do disco

Ohdparmé um programa que permite modificar características diversas da unidade de disco rígido e de CD como modo de transferência de dados, leitura adiante, dma, cache, leitura simultânea de setores, hibernação, etc.

Por padrão as transferências de dados entre a controladora do HD (a plaquinha que fica em-baixo dele) e a controladora de periféricos é feita em 16 bits. Para exibir a configuração atual do disco rígido/dev/hda(por exemplo), digite o seguinte comando:hdparm /dev/hda

/dev/hdb:

multcount = 0 (off) I/O support = 0 (16-bit) unmaskirq = 0 (off) using_dma = 1 (off) keepsettings = 0 (off) nowerr = 0 (off) readonly = 0 (off) readahead = 8 (on)

Imediatamente podemos modificar os seguintes campos para melhorar sensivelmente o de-sempenho do disco rígido:

multcount Pode ser modificada com -m[num] e especifica o número máximo de setores que serão acessados de uma só vez na operação de leitura da unidade. O valor máximo recomendado é igual a capacidade máxima suportada pelo seu disco rígido, que pode ser obtida com o comando:hdparm -i /dev/hda

Model=TS6324A2, FwRev=.340 , SerialNo=A99B99JA

Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% } RawCHS=13228/15/63, TrkSize=0, SectSize=0, ECCbytes=0

BuffType=unknown, BuffSize=256kB, MaxMultSect=16, MultSect=16 CurCHS=13228/15/63, CurSects=12500460, LBA=yes, LBAsects=12500460 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4

DMA modes: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5

O campoMaxMultSect=16indica o valor de 16 como máximo suportado em uma única operação pela unidade. Valores maiores poderão ser especificados mas não trarão ganho de performance. Para discos rígidos Western Digital é recomendável deixar este valor como 0, porque eles possuem um mecanismo embutido para leitura de setores. Para experimentar valores fora dos padrões, coloque seu sistema de arquivos como somente leitura para não perder dados caso algo saia errado. Note que o comandohdparm -i

mostra alguns detalhes interessantes sobre a configuração do disco rígido e modos de operação suportados.

I/O support Modificado com-c[num]. O número especificado pode ser 0para transferência de dados em 16 bits,1para 32 bits e3para 32 bits com uma seqüencia especial de sin-cronismo (alguns chips requerem esta ao invés da1).

using_dma Modificado com-d[num]. Habilita ou não o uso de DMA para a transferência de dados do HD, ativando o controle de algumas operações pelo chipset livrando a CPU para processamento. 0desativa DMA e1ativa. Note que nem todos os chipsets acei-tam esta operação. Esta usada em conjunto com a opção -Xoferece um excelente ga-nho de performance pelo uso correto de sua controladora. A ativação de dma também pode ser feita automaticamente na recompilação do kernel ou especificando o parâmetro

ideX=dma (X é o número da controladora IDE) na linha de comando de boot: ou no arquivo/etc/lilo.conf.

xfermode Modificado pela opção-X[num]. Permite selecionar o melhor modo de transferên-cia de dados do seu disco rígido, é nesta parte onde você seleciona o modo UltraDMA para transferência de dados, caso seu HD/CD-ROM suporte. Os seguintes valores são válidos: 32 - PIO Mode 0 33 - PIO Mode 1 34 - PIO Mode 2 35 - PIO Mode 3 36 - PIO Mode 4

64 - Ultra DMA Mode 0 65 - Ultra DMA Mode 1 66 - Ultra DMA Mode 2 67 - Ultra DMA Mode 3 68 - Ultra DMA Mode 4 69 - Ultra DMA Mode 5 70 - Ultra DMA Mode 6

Para descobrir os modos PIO e UltraDMA do seu HD, utilize o comando hdparm -I /dev/hd?. NÃO UTILIZE UM MODO PIO/ULTRA DMA NÃO SUPORTADO PELA SUA CONTROLADORA. CASO SUA PLACA CONTROLADORA DO HD SUPORTE UM MODO ALTO PIO/ULTRADMA MAS SUA CONTROLADORA IDE NÃO SU-PORTA, VOCÊ DEVERÁ UTILIZAR O VALOR MAIS ADEQUADO PARA AMBAS. FAÇA TESTES SEMPRE QUE ALTERAR O MODO DE FUNCIONAMENTO E ESTEJA ATENTO A MENSAGENS DE ERROS PARA QUE NÃO TENHA PERDA DE DADOS!!!

unmaskirq Modificado com-u[num]. Habilita ou não o controlador de disco mascarar as inter-rupções de processador durante o processamento das interinter-rupções de disco. 0desativa esta função e1ativa. Use esta opção com cuidado e sob seu próprio risco: algumas pla-cas controladores de HD e controladoras de periféricos não trabalham bem com a taxa de transferência aumentada, podem ocorrer perda de dados. Coloque o sistema de arquivos como somente leitura antes de testar esta característica.

readonly Modificado com-r[num]. Coloca o disco em modo somente leitura. A montagem da partição com a opçãorono/etc/fstabé preferida.

readahead Modificado com -a[num]. Configura o número de blocos que serão lidos anteci-padamente no sistema de arquivos (por padrão é usado 8 blocos - 4 Kb). Este número poderá ser modificado para se adequar a utilização do computador. Em sistemas com muita procura de arquivos pequenos (servidores web), um valor pequeno (como o pa-drão) é recomendável. Se a máquina é um servidor de arquivos dedicado, um valor maior trará maiores benefícios.

Veja mais detalhes sobre o comando hdparm em sua página de manual. Depois de seleci-onado o melhor valor de performance, você deverá salvar em um arquivo que será lido na inicialização para ativação destes valores. Para fazer teste de performance de leitura bruta uti-lize o comandohdparm -t /dev/hd?, para fazer testes com o uso de cache, use o comando

hdparm -T /dev/hd?.

padrão. Isto ocorre devido a opções mau utilizadas no hdparm, não suportadas pelo disco rígido ou por problemas no HD/controladora.

Exemplos:

# Ajusta o número de setores simultâneos para 16 e o modo de transferência para # 32 bits no disco rígido /dev/hda

hdparm -c1 -m16 /dev/hda

# Programa a leitura adiante do HD para 64 blocos (32Kb), o modo de transferência # para 32 bits, usar DMA, e 16 setores simultâneos.

hdparm -c1 -d1 -m16 -a64 /dev/hda

#Mostra os valores de configuração atuais do disco rígido hdparm /dev/hda

3.15.4 Data de acesso a arquivos/diretórios

Toda vez que acessamos um arquivo ou diretório da máquinaLinuxa data/hora é atualizada. Em máquinas normais isto é OK mas em servidores onde o acesso a arquivos é constante (como no diretório/var/spoolem servidores de e-mail ou/usr/em servidores diskless) é reco-mendável desativar esta característica. Isto reduzirá a quantidade de buscas das cabeças do disco rígido para a atualização deste atributo e conseqüentemente aumentará a performance na gravação de arquivos (o disco rígido usa o sistema mecânico para ler/gravar dados, muito mais lento que a memória RAM eletrônica).

chattr -R +A /var/spool

O atributo +Adesativa a gravação da “data de acesso” dos arquivos e sub-diretórios dentro de/var/spool. Para desativar a atualização da “data de acesso” para toda a partição, você pode incluir a opção de montagemnoatimeno seu/etc/fstab:

/dev/hda1 /var/spool ext2 defaults,noatime 0 1

OBS:OLinuxutiliza três atributos de data para controle de arquivos:

atime- Data/Hora de acesso: é atualizado toda vez que o arquivo é lido ou executado. mtime- Data/Hora da modificação, atualizado sempre que alguma modificação ocorre

no arquivo ou no conteúdo do diretório. Esta é mais interessante que actime principal-mente quando temos hardlinks.

ctime- Data/Hora da última modificação do inodo do arquivo.

Em partições onde a gravação é freqüente (como na própria /var/spool) a desativação do atributoatimealém de melhorar o desempenho do disco, não fará muita falta.