Re: Configuring Shared Buffers

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

 



I agree. I have a similar system that I use for development purposes and have the shared_buffers sitting comfortable around 1GB. On production systems with 16GB of RAM, I've seen this as high as 12GB. There is talk nowadays, however, that this setting could drop back down to defaults on modern installations and let the OS handle cached memory as it sees fit. In any case, the biggest performance gain I see for you would be setting work_mem appropriately. This is the memory postgres is permitted to use for sorts, merges, hash joins, etc. before being forced to disk. It defaults to 1MB. In my opinion, this is far too low. This is the memory allocated to each sort/hash/etc operation. So for a complicated query, postgres could use several allocations. Even though, I think you could raise this considerably. If your system is a dedicated postgres box, I would take the total memory, subtract that needed for the OS, subtract what you decided to use for shared_buffers, and divide the rest by your 100 connections. So, for you, I see this around 30MB. On my development box with only a few connections, I have this around 500MB and sometime spike it to 1.2GB on the fly before a long running query.

Cheers,
Kevin

Alvaro Herrera wrote:
Rafael Domiciano escribió:
The Postgres version is 8.3.3 and I am using Fedora Core 8.
I have in the actual server around 70 connections the same time. I am
assigning for this 100.

100 MB?  That's not very much either.  You can probably get a hefty
performance boost by upping it a lot more (depending on whether the
machine is doing something else, or Postgres is the only service running
on it.)




[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