Having performance problems.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



First let me start by saying I am pretty new to Postgresql.  To date I have only worked with small databases, I now have a database that isn't big but is big enough to create performance issues.  The database is roughly 450 MB.    I have two tables of interest; logs and hosts.  At one point I had the following sql:

 SELECT * FROM hosts, logs where (logs.host_id = hosts.host_id) ORDER BY date DESC, time DESC;

This took over 1000 seconds to execute.

I then upgraded to PGSQL 8.0.1 and created tablespace logs_t and hosts_t, these are on separate controllers and separate disks.
           List of tablespaces     
Name    |  Owner   |    Location
------------+----------+-----------------
 hosts_t    | postgres | /pgdata/hosts_t
 logs_t     | postgres | /pgdata/logs_t

I then altered the tables logs and hosts to use the new tablespace respectively and I changed the sql to read:

SELECT hostname,facility,priority,level,tag,date,time,program,msg,seq FROM hosts, logs where (logs.host_id = hosts.host_id) ORDER BY date DESC, time DESC;

Under 7.x my PGDATA was on /pgdata; however, for 8.x I have left it in in its default location of /var/lib/pgsql.  So what is happening now is:
1. I am still seeing all 4x700 MHz CPUs go to 95%+ IOWAIT, appears that /var is the hardest hit.
2. SELECT hostname,facility,priority,level,tag,date,time,program,msg,seq FROM hosts, logs where (logs.host_id = hosts.host_id); works but takes awhile; however, adding the ORDER BY condition causes the SQL to execute to the point that /var becomes full and the SQL exits with:
ERROR:  could not write block 81940 of temporary file: No space left on device
HINT:  Perhaps out of disk space?

What parameters can I start "tweaking" and what can I do to addres the issue of /var filling up?  Below are some of my kernel and database settings:

effective_cache_size           | 1000
maintenance_work_mem           | 16384
max_connections                | 32
shared_buffers                 | 64
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0x0052e2c1 38043648   postgres  600        1540096    2




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux