Roberto

Podria ser como mencionas la degradacion del raid.
si es linux
   si es por software (el raid)
          entonces
                cat /proc/mdstat
si en alguno te tira un _U  quiere decir que una unidad esta caida
se puede cambiar con raid10 y se recupera-
salu2
mdc


2011/8/30 motum hesa <mot...@gmail.com>

> Hola disculpen la molestia nuevamente, he estado tratando de optimizar
> una consulta que ya habia optimizado pero el cliente me aviso que
> estaba tardando demasiado, lo raro de el caso es que la misma base de
> datos la respalde y la desplegue un par de semanas atras en un
> servidor de pruebas, donde se estan insertando los mismos registros
> diariamente, en el servidor de produccion ( server 1) la consulta
> tarda mas de 170 segundos en realizarse mientras en el servidor de
> pruebas ( server 2) tarda 2 o 3 segundos... hice un explain analyze en
> la consulta y despues de revizarla me doy cuenta que por alguna razon
> en el server 1 el indice que tengo sobre un timestamp no se esta
> usando, hice un backup del esquema y lo compare con el de server 1 y
> la estructura es la misma ( solo habia una funcion nueva en el server
> 2 pero no es relevante para la consulta). Hice otra prueba para ver si
> es por la configuracion de hardware donde server 1 esta como sigue:
>
> 2 Xeon a 2 Ghz
> 6Gb RAM
> 150 GB SATA a 10Krpm X 4  Disco duro en RAID 10
> Freebsd 8.1
> Postgres 8.4.4
>
> el server 2 esta como sigue:
>
> 1 Xeon a 2 Ghz
> 8 GB RAM
> 300 GB a 7.2K rpm Disco duro sin RAID
> Freebsd 8.1
> Postgres 8.4.4
>
> Y los dos servidores de postgres han sido tuneados para usar los
> recursos del sistema. Entre las posibles opciones se penso que un
> disco del Arrglo RAID 10 pudiera estar fallando o tal vez se requiere
> mas memoria para la consulta ( La tabla tiene mas de 30M de
> registros), por lo que en un servidor que tengo para otras
> aplicaciones mas simples tengo un postgres y lo use para hacer un
> respaldo del  server 1 y del server 2 y los desplege en este server 3:
>
> Xeon 2 GHz
> 2 GB RAm
> 150 GB x 2 a 7.2K rmp en RAID 1
> Freebsd 8
> Postgres 8.4.2
>
> Donde el resultado es el mismo bdserver1 180segundos la consulta y
> dbserver2 5 segundo la consulta. Ya Recree el indice que me hace falta
> que se use, hice vacuum, vacuum analyze, reindex y nada no se mas
> puedo hacer, espero puedan ayudarme, la consulta es la siguiente:
>
> SELECT DE.unitno,        DE.entrandosaliendo,        DE.fechacreacion,
>       DE.lat,        DE.lng,        DE.odometrototal,
> DE.odometrototal as copodo,        DE.combustibletotal,
> TE.nombre,        TE.img,
>  TE.ops,        EA.valor,        EF.descripcion,
> EF.fault_codes,        EF.tipo,        EM.descripcion as desmssg,
>  DE.pos_gps
>  FROM   (select * from datosentrada_his where unitno='111' and
> flota='EMPRESA1' and fechacreacion between '07/13/2011 05:00' and
> '07/15/2011 04:59' ) AS DE
>   LEFT JOIN entradafallas   AS EF  USING(importacionid)
>    LEFT JOIN entradaalarma   AS EA  USING(importacionid)
>   LEFT JOIN entradamensajes AS EM  USING(importacionid)
>   LEFT JOIN tipoevento      AS TE  ON EA.tipo = TE.tipo ORDER BY
> DE.fechacreacion ASC
>
> Si es necesario les puedo enviar el resultado de los explain analyze
> que realice.. Espero puedan ayudarme... ya que he leido todo lo que he
> encontrado y nada. mi principal duda es por que en una db si se usa el
> indice y en la otra no...
>
>
>
> Roberto Campos
> -
> 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
>

Responder a