Autor: Koji
Data: 16/05/2001.

Incrementado a velocidade de leitura/escritura.SoftUpdates

Se queremos incrementar a velocidade de nosso FreeBSD (sobretudo escrevendo e lendo em disco) podemos usar o chamado SoftUpdates. 
Não vou entrar em nenhuma explicação técnica detalhada. Se estais interessados em aprofundar sobre o tema podeis dirigir-vos à direção:
http://www.mckusick.com/softdep/index.html (esta em virilhas por suposto). Começamos!

Bem, antes de nada comentar que este pequeno articulo foi escrito usando FreeBSD 4.3. Não se até que ponto pode mudar
o mecanismo de activación de SoftUpdates (sobretodo em versões velhas de FreeBSD ), mas me atrevería a dizer que em toda a 4.x em
adiante o procedimento segue sendo o mesmo.

O primeiro que temos que fazer é comprovar se temos a linea "options SOFTUPDATES" em nosso kernel. Assim que o comprovaremos:

# cd /usr/src/sys/i386/conf
# grep SOFTUPDATES GENERIC
options SOFTUPDATES                         #Enable FFS soft updates support

NOTA: substituir GENERIC pelo nome de vosso kernel que esteis usando

Como se vê claramente nosso kernel se que dispõe desta opção. Se estivesse comentada (com um # ao princípio da linea) ou não a
tuvieramos, tendriamos que a pôr no kernel e compilá-lo.
Para isso editaríamos o arquivo de nosso kernel (em nosso caso GENERIC) e pondriamos  options SOFTUPDATES ao final do arquivo e o compilariamos:

# cd /usr/src/sys/i386/conf
# config GENERIC
# cd ../../compile/GENERIC
# make depend;make;make install

Todo isto do final como dissemos só séria necessário se a linea options SOFTUPDATES estivesse comentada ou se não figurasse no kernel.

Após todo este rollo só fica ativar as particiones que queiramos ter com softupdates. Para isso faremos um reboot e arrancaremos FreeBSD em single mode. Para fazer isto ultimo só temos que pulsar uma tecla diferente de enter na conta atrás que sai em FreeBSD antes de que comece o arranque.
Entraremos numa espécie de prompt e teclearemos:

boot -s

Ato seguido FreeBSD arrancasse em single mode. Uma vez arrancado nos pedirá a shell que queremos usar, lhe diremos a que queremos usar e ativaremos o softupdate tecleando:

tunefs -n enable /usr

podemos fazê-lo em todas as particiones que queiramos (menos a swap), em nosso caso o pusemos para a partición /usr, mas podeis ativar a que queirais, uma linha por cada partición a ativar

Se quereis tambián podeis usar o device para ativá-lo, por exemplo o comando anterior também se poderia ter indicado pondo:

tunefs -n enable /dev/ad0s1e

Após isto, teclearemos reboot e arrancaremos nosso FreeBSD como de costume.

Para comprovar que todo tem ido bem só temos que executar mount. Aqui vos ponho a diferença de um mount antes de ativar o softupdates e um mount após ativá-lo:

-Antes de ativar softupdates-

/dev/ad0s1a on / (ufs, local)
/dev/ad0s1e on /usr (ufs, local)
procfs on /proc (procfs, local)

-Despues de ativar softupdates-

/dev/ad0s1a  on / (ufs, local)
/dev/ad0s1e on /usr (ufs, local, soft-updates)
procfs on /proc (procfs, local)

NOTA: Tambien podeis verificar se a partición foi montada com softupdates com o parametro -p do comando tunefs. Para maior informação conferir sua man (man tunefs)

Antes de seguir comentar-vos uma anotação.
Vos podeis estar perguntando o porque todo o rollo do single mode, boot -s e todo isso que fizemos anteriormente.
Bem a resposta é singela, e é que para ativar o softupdates as particiones precisam estar desmontadas, e isto é o que
consegue-se com o boot -s. Para pôr-vos um pequeno exemplo vamos ativar a partición /prova que temos em nosso
FreeBSD para que seja montada com softupdates, imaginar-vos que agora mesmo esta montada e estamos trabalhando em nosso FreeBSD como de costume, assim que faríamos o seguinte:

# umount /prova
# tunefs -n enable /prova

E isso séria todo. No caso de prova / o mecanismo para ativar o softupdates é mas curto, já que esta partición não é uma partición do sistema como pode ser /usr, / ou /var e não é montada automaticamente no arranque pelo sistema

Uma coisa também importante a comentar, é que na instalação de FreeBSD, (concretamente ao criar os slices) sobretudo nas versões novas, temos a opção de dar suporte de softupdates diretamente desde o editor, é dizer, ao criar os slices /, /usr, /var, ou os que queiramos, podemos ativar estes diretamente com suporte softupdates.
Esta opção figura ao menos na instalação de FreeBSD 4.3, mas não se se em anteriores versões se dispõe dela. Se olhamos as opções das que dispomos no menu de criação de slices deveria pôr algo assim:

S = Toggle SoftUpdates

Isto  nos diz que só temos que nos pôr sobre o slice que queiramos dar suporte são softupdates e apertar a tecla S, desta maneira nos poupámos de ter que realizar todos os passos anteriores.

E já para acabar vos ponho umas comparações do tempo aproximado que FreeBSD demora em fazer segundo que operações de disco tendo o softupdates ativado e não ativado.

Desempaquetar o arquivo x.tar com softupdates: 50.628 segundos
Desempaquetar o arquivo x.tar sem softupdates: 57.204 segundos (13% mas lento)

apagar o diretório x com softupdates: 16.640 segundos
apagar o diretório x sem softupdates: 43.282 segundos (260% mas lento)

Isso é todo :-)

Para dúvidas/comentários e demas dirigir-vos a meu e-mail [email protected]

Uma saudação



 

Hosted by www.Geocities.ws

1