Fizemos benchmarks para a escolha de sistemas operacionais e de sistemas de arquivos ideais para nossos servidores de PostgreSQL.

O que se esperava:
- ReiserFS seria melhor para arquivos pequenos
- XFS seria melhor para arquivos grandes [1]
- Ext2 (sem journal) seria melhor para o WAL
- em FreeBSD o PostgreSQL seria mais rápido que em Linux

Lembro ainda de ter visto algo que dizia que o JFS seria melhor ainda. O problema dele é a escassez de ferramental.

Testamos com o OSDL DBT-2 modificado [2], e tivemos os seguintes resultados:
- XFS foi o melhor em qualquer situação (bancos de 120 MB a 24 GB, para os arquivos de dados e de log de transação)
- Linux (kernel 2.6) teve desempenho superior ao FreeBSD

Preferimos Debian GNU/Linux porque é uma distro realmente livre (o DataCenter do estado possui 130 servidores Linux - cerca de 85 são Debian) e possui um sistema eficiente de pacotes (o que nos permite montar um servidor completo e atualizado em tempo reduzido). Além disso, mantemos um repositório interno e desenvolvemos pacotes próprios, o que otimiza diversas áreas.

O que temos percebido: o XFS faz uso extensivo de cache. Num servidor com 4,0 GB de RAM, configuramos o PG (dedicado) para 40% disso (1,6 GB). Acontece que em pouco tempo de uso quase a totalidade da memória é preenchida com cache do sistema de arquivos - que é uma camada que envolve o SGBD.

[1] http://oss.sgi.com/projects/xfs/
[2] http://www.icewall.org/~hjort/pgsql/fisl7/web/img33.html

--
Rodrigo Hjort
http://icewall.org/~hjort


2006/6/11, Euler Taveira de Oliveira <[EMAIL PROTECTED] >:
marlon david de souza escreveu:

> Mas visto que o EXT2 é o mais rápido, teria problema de usá-lo para guardar o
> pg_xlog?
>
Como o Rodrigo disse o EXT2 não é mais rápido (fiz e vi alguns
benchmarks). Além da recuperação (fsck) ser muitas vezes mais lenta do
que em outros sistemas de arquivos.

> > Conselhos:
> > - troque por um Debian (de verdade, não Kurumin)
:-) Prefiro Slackware ou FreeBSD. Acho que isso depende da preferência
do administrador. Não adianta eu utilizar um Suse se não sei como
operá-lo corretamente. *Minha* opinião, utilize o SO que você tem mais
segurança em manejá-lo (só não utilize Windows pois a performance neste
SO é muito inferior aos UNIXes, ainda).

> > - use XFS (para dados e log de transações)
> >
Quanto ao uso de sistemas de arquivos sou muito conservativo; como o
ext3 é o padrão 'de facto' do linux prefiro utilizá-lo. O ReiserFS
também nunca me deixou na mão. Então, aconselho a fazer um benchmark com
o seu hardware + dados + sistema(s) e definir qual é a melhor escolha.

--
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a