Que tal
Tengo instalado postgres 8.4.4 en una Sun Microsystems sun4u Sun Fire 880
con:
- 4 procesadores 700Mhz
- 8 Gb Ram
- Sistema operSolaris 9
- 64-bit sparcv9 applications
- 32-bit sparc applications
- SCSI-3. Los discos no tienen ningún arreglo
Fue compilado con el sun-studio (flag -x05....) y a 32 bits ...
recomendaciones en:
http://www.postgresql.org/docs/8.4/static/installation-platform-notes.html#INSTALLATION-NOTES-SOLARIS
Tambien tengo instalado postgres (8.4.2) en un PC (dell Optiplex 960) con
las sig. características:
- 3 Gb ram
- 1 procesador Dual Core de 3.2 Ghz
- 1 discos duros satas
- Linux 2.6.28 (gentoo)
La PC la usamos para desarrollar y ahora que concluimos nuestro desarrollo
decidimos pasar la bd al equipo de solaris.
Tenemos diseñanadas algunas pruebas de rendimiento (especiales para la
aplicación) que se ejecutan con el pgbench; la prueba que estamos ejecutando
hace altas y consultas a la bd con 5 usuarios concurrentes. Los resultados
que obtenemos en la pc son:
Thu Jul 29 15:50:02 CDT 2010
transaction type: Custom query
scaling factor: 1
query mode: simple
number of clients: 5
duration: 120 s
number of transactions actually processed: 159
tps = 1.302670 (including connections establishing)
tps = 1.302746 (excluding connections establishing)
Thu Jul 29 15:52:04 CDT 2010
Esta misma prueba la ejecuto en solaris y obtengo:
Mon Jul 26 18:41:58 CDT 2010
transaction type: Custom query
scaling factor: 1
query mode: simple
number of clients: 5
duration: 120 s
number of transactions actually processed: 85
tps = 0.668752 (including connections establishing)
tps = 0.669172 (excluding connections establishing)
Mon Jul 26 18:44:05 CDT 2010
Como observarán, es mucho mas lento solaris. En el monitoreo de la prueba
observo que los procesadores estan al 100% (mpstat 5). También veo
diferencia en el acceso al disco. Por ejemplo iostat en la pc arroja (filtre
algunas columnas)
device r/s w/s rkB/s wkB/s await %util
sda 0.12 3.62 8.24 45.85 6.06 0.16
sda 0 2.2 0 126.4 0.64 0.08
sda 0 0.8 0 8 0 0
sda 0 1.6 0 31.2 0.12 0.02
sda 0 1.2 0 8.8 0.17 0.02
sda 0 1.8 0 36 0.11 0.02
sda 0 1 0 5.6 0.6 0.06
y en solaris:
r/s w/s kr/s kw/s wait wsvc_t asvc_t
%w %b
c1t0d0 0.1 2.8 2.5 25.3 0.1 27.8 22.8 0 2
c1t0d0 0 4.8 0 36.8 0 0 5.8 0 3
c1t0d0 0 10.8 0 92.8 0 0 8 0 6
c1t0d0 0 12.2 0 97.6 1.2 99.8 77.6 5 7
a mi forma de ver, también es mas lento solaris...
He realizado los siguientes "tunnings" sin lograr mejorar el rendimiento:
http://blogs.sun.com/jkshah/entry/best_practices_with_postgresql_8
http://archives.postgresql.org/pgsql-performance/2006-02/msg00190.php
http://vnull.pcnet.com.pl/dl/postgresql/pgsol_best_practices.pdf
Mis dudas:
- Se le ocurre alguna otra forma de mejorar el rendimiento de solaris?
- Conocen documentación que me pueda apoyar?
- Tendrá que ver la versión de postgres ?(por mi parte, no creo)
- Al parecer la pc es mas rapica que el servidor de solaris ... por lo tanto
no se podra mejorar el servidor de solaris por mucho tunning que se haga
.... ¿ que opinan?
Saludos y gracias de antemano.