Re: Sobre los TableSpaces

From: Jose Vasquez <cibercol(at)gmail(dot)com>
To: Terry Yapt <yapt(at)technovell(dot)com>
Cc: Alfredo Rico <alfredorico(at)gmail(dot)com>, Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Sobre los TableSpaces
Date: 2009-06-22 17:17:48
Message-ID: 98a673a80906221017i1a6dfb29vf577e23165970fa2@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, tal vez no es tema de la lista.... pero es un concepto que se puede
utilizar para muchas cosas, para algunas tiene utilidad para otras es mejor
no hacerlo. Por ejemplo no le veria mucha utilidad a tener alli las tablas
de postgresql..... aunque no se, no hay que ser cerrado a las ideas.
esto se llamaba en dos un ramdisk, en Windows al parecer no lo siguieron
haciendo en el sistema operativo pero hay programas pagos que lo hacen y que
tambien escriben a disco duro cuando se apaga el servidor.

En linux un ejemplo sencillo seria el siguiente.

en el archivo /boot/grub/menu.lst

se adiciona el parametro ramdisk_size=4194304 por ejemplo si quieres hacer
discos duros de 4GB cada uno en ram

kernel /vmlinuz-2.6.28-13-server
root=UUID=5ac65858-cdf5-4c26-8557-220563f52901 ro quiet splash
ramdisk_size=4194304

en el archivo rc.local

#para crear el sistema de archivos
mkfs -text3 -q /dev/ram0 4194304
mkdir -p /vm/vm0
# para montar el sistema de archivos en memoria
mount /dev/ram0 /vm/vm0
mkfs -text3 -q /dev/ram1 4194304
mkdir -p /vm/vm1
mount /dev/ram1 /vm/vm1
mkfs -text3 -q /dev/ram2 4194304
mkdir -p /vm/vm2
mount /dev/ram2 /vm/vm2

#para copiar los archivos necesarios antes de inicializar los servicios o
maquinas virtuales o lo que sea.
cp -ax /directoriobase0/* /vm/vm0
cp -ax /directoriobase1/* /vm/vm1
cp -ax /directoriobase2/* /vm/vm2

Lo anterior funciona con Ubuntu 9.04 server en sistemas operativos
anteriores, es necesario recompilar el nucleo y es posible que tengas que
utilizar lvm para lograr tamaños de disco de 4GB en ram, los que normalmente
el trae son de 64K o de 128K, que es bastante pequeño para los
requerimientos actuales.

Nosotros hemos montando maquinas virtuales de sun virtualbox en particiones
de 2GB y pues esto nos ha solucionado problemas de rendimiento de ciertas
aplicaciones.

Podria utilizarse para mantener una base de datos pequeña completamente en
RAM, pero en mi opinion el cambio en desempeno no seria mucho, porque
postgresql es muy optimizable para permitir un uso de la ram similar a tener
toda la base de datos en ram. Hemos realizado pruebas y no observamos un
cambio muy sustancial. Eso habla bien de postgresql y del sistema de
archivos que usamos XFS.

Si esto no cabe dentro de la lista podemos seguir con el chat en privado.

José VASQUEZ

2009/6/22 Terry Yapt <yapt(at)technovell(dot)com>

> Hola Jose,
>
> como haces esa optimización en disco duro en RAM ? Es decir, que cosas del
> servidor PostgreSQL pones ahí ? Como las pones ? Cuando arranca el
> server, copias a ese disco duro recien creado las cosas que necesitas ?
> Como realizas una "replicación al HD físico" ?
>
> Bueno, toda la información que puedas dar. :-)
>
> Saludos y gracias.
>
> Jose Vasquez escribió:
>
>> los tablespaces los puedes colocar donde quieras, pero no olvides de ser
>> organizado para mantener los backups y los montajes y no olvidar cosas en
>> una migracion.
>>
>> yo he trabajado con xfs y no he tenido problema, si ayuda mucho en
>> velocidad. Lo importante es que tu servidor no se bloquee nunca y que no se
>> apague nunca, esto necesita su UPS y su respectivo sistema de control para
>> que el apagado cuando no haya energia sea el adecuado.
>>
>> Si buscas velocidad, tener mucha memoria es bueno, diria que muy bueno.
>> Nosotros realizamos una optimizacion con disco duro en ram, xfs y los
>> parametros de postgresql realmente grandes en un servidor con 8 procesadores
>> y 128GB de ram, y el proceso es espectacular. Pero es obvio que no es para
>> todo el mundo.
>>
>> Jose VASQUEZ
>>
>> 2009/6/21 Alfredo Rico <alfredorico(at)gmail(dot)com <mailto:
>> alfredorico(at)gmail(dot)com>>
>>
>> Saludos amigos.
>>
>> Tengo dos preguntas bien concretas. Me disculpan si ya fueron
>> contestadas en algún post reciente, pero de verdad mi tiempo es algo
>> limitado para ponerme a revisar en detalle.
>>
>> 1. ¿ Es recomendable que los tablespaces se creen en el mismo
>> directorio donde se encuentra el cluster ?
>> 2. ¿ De encontrarse los tables spaces en una partición diferente al de
>> cluster que sistema de archivos se recomienda (ext4, xfs, reiserfs) ?.
>> Esta pregunta pues se debe a razones de performance como se podrán
>> imaginar. Tiene alguna influencia considerable el sistema de archivos
>> subyacente?
>>
>>
>> Muchas gracias a todos.
>>
>>
>>
>> --
>> Saludos Cordiales.-
>> Alfredo Rico.
>> San Cristóbal - Venezuela.
>> --
>> TIP 10: no uses HTML en tu pregunta, seguro que quien responda no
>> podrá leerlo
>>
>>
>>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message juan 2009-06-22 17:36:42 Re: ayuda con trigger
Previous Message Alvaro Herrera 2009-06-22 16:45:40 Re: Duda con modelado de Datos + Crear Función