lunes, 28 de abril de 2008

Monitoreo

Para ver el estado del servidor, desde una consola, puedes utilizar:

- top (supongo que ya lo conoces). Podrás ver la carga de CPU,
memòria, procesos ...
- vmstat 1 : Información de memòria, bloques i/o, cpu, ...
- iostat -k 1 : Información i/o a disco. (apt-get install sysstat).

Como herramienta gràfica tienes gkrellm (apt-get install gkrellmd
gkrellm). gkrell te permite visualizar gráficas de CPU, i/o a disco,
tráfico ethernet, ... Nosotros lo utilizamos y con él rápidamente
vemos un estado general del servidor.

Si te interessa saber que está haciendo postgres tienes (creo que esto
no lo preguntas pero ya que estamos):

- pgAdmin III : Puedes ver la conexiones y que está haciendo cada una de ellas.
- Mirate los capítulos 23 i 24 (version 7.4, supongo que en la 8 seran
los mismos capítulos)
- También tienes estos querys:


OPEN LOCKS:

SELECT r.relname, l."mode", count(*) AS numlocks
FROM pg_locks l, pg_class r
WHERE r.oid = l.relation
GROUP BY r.relname, l."mode"
ORDER BY count(*) DESC;


RUNNING QUERIES (AND HOW LONG FOR):

SELECT pg_stat_activity.usename, round(date_part('epoch'::text, now() -

pg_stat_activity.query_start)) AS duration,

pg_stat_activity.current_query
FROM pg_stat_activity
ORDER BY round(date_part('epoch'::text, now() -

pg_stat_activity.query_start)) DESC;


QUERY PLAN:

SELECT id, gameid, forumid, subject
FROM threads WHERE nuked = 0
ORDER BY nuked DESC, lastpost DESC LIMIT 8;

Cómo matar un proceso en PostgreSQL de forma segura

Bienvenido(a) a DbRunas
lunes, abril 28 2008 @ 10:59 EDT

Cómo matar un proceso en PostgreSQL de forma segura

PostgreSQLSi algún proceso se queda colgado (aunque no sea debido directamente a postgres) se puede cancelar sin causar males mayores al postmaster. Primero averiguamos el id del proceso gestionando nuestra query y luego le mandamos un SIGTERM (-15):


psql template1
template1=# select procpid, datname, usename, waiting from pg_stat_activity ;
procpid | datname | usename | waiting
---------+----------+----------+---------
27702 | template1 | postgres | f
27710 | template1 | postgres | f
27756 | template1 | postgres | f
27720 | template1 | postgres | t
(4 rows)
q
su -
kill -15 27720

Fuente: http://s1lence.net