Re: Database Optimization and Peformance

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

 



Thanks Jeff,

Obviously I have a bit to learn about Postgres admin.

> How are your FSM settings in the conf file?

Looking at the postgresql.config the lines for max_fsm_pages and max_fsm_relations are commented out so they have the default 20000 pages and 1000 relations. Should we up these defaults?

>When you loaded the new data did you delete or update old data or was it just a straight insert?

As far as the database load went, it was a straight insert, no updates were made.

>Can you run VACUUM VERBOSE and send us the last 10 or so lines of output?

I ran VACUUM FULL VERBOSE on the old production DB and I see we need to run VACUUM FULL on a regular basis. I took about hour and a half to complete but afterwards the problem tables and queries are running well. Query time is back to 1.08 mill sec.
Here are the last 10 lines of VACUUM FULL VERBOSE

Total free space (including removable row versions) is 0 bytes.
0 pages are or will become empty, including 0 at the end of the table.
0 pages containing 0 free bytes are potential move destinations.
CPU 0.00s/0.00u sec elapsed 0.00 sec.
INFO:  index "pg_toast_9187147_index" now contains 0 row versions in 1 pages
DETAIL:  0 index pages have been deleted, 0 are currently reusable.
CPU 0.00s/0.00u sec elapsed 0.00 sec.
INFO: free space map: 1000 relations, 1111 pages stored; 19648 total pages needed DETAIL: Allocated FSM size: 1000 relations + 20000 pages = 223 kB shared memory.
VACUUM
erm_slow=>

Thanks again for your quick response

Regards
--Joe



Jeff Frost wrote:
On Wed, 30 Aug 2006, Joe McClintock wrote:

I ran a vacuum, analyze and reindex on the database with no change in performance, query time was still 37+ sec, a little worse. On our test system I found that a db_dump from production and then restore brought the database back to full performance. So in desperation I shut down the production application, backed up the production database, rename the production db, create a new empty production db and restored the production backup to the empty db. After a successful db restore and restart of the web application, everything was then up and running like a top.

Joe,

I would guess that since the dump/restore yielded good performance once again, a VACUUM FULL would have also fixed the problem. How are your FSM settings in the conf file? Can you run VACUUM VERBOSE and send us the last 10 or so lines of output?

A good article on FSM settings can be found here:

http://www.pervasive-postgres.com/instantkb13/article.aspx?id=10087&cNode=5K1C3W

You probably should consider setting up autovacuum and definitely should upgrade to at least 8.0.8 if not 8.1.4 when you get the chance.

When you loaded the new data did you delete or update old data or was it just a straight insert?




[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