Tienes un ingeniero de systemas que te diga donde estan los IO WAITS ?
los tiempos de espera etc ?
Las bases de datos cuando haces insert/commit de forma recurrent no te
va a generar mucho performance... Para eso existen los NON SQL
databases... donde los commit se tiran a disco cada 10 mil transacciones
o cada X tiempo.
Cuales son tus NFR que quieres cumplir ?
Como tienes los discos ? y cuantos tienes ? Es un PC o un servidor como
un DL380 con 16 discos ? Cuanto cache interno tienes ? la controladora
tiene cache de escritura, lectura, ratios, etc...
Jugar con postgresql es una cosa, pero tener el sistema en balance es
otra distinta. Aquí tengo una maquina como la que describes para uso
personal, si quieres entrega un poco más de información y hago el
laboratorio para que sintinizar postgresql en base a
2 SSD ( de los viejo de 450MB/s no los nuevos que te dan 2GB/s ).
y tengo solo 32GB RAM no tengo 64... pero para lo que estas haciendo
debiera ser suficiente.
Resumen:
1) que maquina tienes
2) Discos
3) estan en RAID ? ( detalles ).
4) FS que estas usando "mount ; df -h "
5) Si usas redhat osreport o sysreport entregan información decente de
tu sistema.
6) sar ; iostat; iotop ; glances ( son algunas herramientas que puedes
usar para sacar más información
7) Usas XFS ? o ext4 ? ( En lo personal me gusta XFS ) pero es un gusto
personal desde redhat 6.x ( desde el 97 que uso esa cosa o 98 ).
On 17/09/2016 9:29 AM, Diego Ayala wrote:
buenas tardes ,estoy necesitando la ayuda de ustedes para poder tener
algun valor estimativo de resultados de transacciones optimas
resultantes de la ejecucion del pgbench, tengo un equipo con estas
caracteristicas 32 CPU Y 60 GB, 64 bits, PostgreSQL 9.4, REH 7, con
discos SSD, bueno, lo cierto es que hice variadas pruebas de
inicialicacion , cantidad de conexiones, nro de threads, tiempo de
ejecucion, y al realizar estas pruebas de solo LECTURA obtengo valores
altisimos, entre 250 y 300 mil TPS, es decir usando la opcion -S, sin
embargo al utilizar la opcion de que ejecute el script de update,
delete, insert, (sin -S) eso baja inmensamente, valores entre 800 a 1500
TPS, haciendo una gran variedad de combinaciones como les habia dicho,
y obviamente modificando valores del postgresql.conf.
Mi consulta es, es el Postgres el que tiene alguna limitación a la hora
de ejecucion de muchos I/O (hice muchos cambios con los valores del
checkpoint, sinchronus_commit), o esos valores que obtengo son realmente
el tope que se puede lograr, les agradeceria me puedan dar una mano con
sus experiencias usando pgbench, y si tienen conocimiento de que valor
puedo decir, esta cantidad de TPS es lo optimo, es un equipo que estoy
tratando de tunear para ponerlo en produccion, asi que me gustaria poder
sacarle todo el jugo que se pueda.
Agradecido una vez mas,
Saludos.
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda