pg.ddx.io pgsql-admin@postgresql.org mailing list archive
help / color / mirror / Atom feedShared_buffers hint
6+ messages / 3 participants
[nested] [flat]
* Shared_buffers hint
@ 2008-10-06 11:52 Rafael Domiciano <rafael.domiciano@gmail.com>
2008-10-06 13:23 ` Re: Shared_buffers hint Marcelo Martins <pglists@zeroaccess.org>
2008-10-06 13:42 ` Re: Shared_buffers hint Scott Marlowe <scott.marlowe@gmail.com>
0 siblings, 2 replies; 6+ messages in thread
From: Rafael Domiciano @ 2008-10-06 11:52 UTC (permalink / raw)
To: pgsql-admin
HI people,
I'm tuning a server that is a long time abandoned, and this server is a
little slow.
Now, in my postgresql.conf I have:
shared_buffers = 100Mb
mas_fsm_relations = 15000
mas_fsm_pages = 1600000
max_connections = 300
And I changin' to:
shared_buffers = 1000Mb
(The server has 2 Gb of memory)
mas_fsm_relations = 15000
(The Vacuum noticed me 608 relations)
mas_fsm_pages = 1600000
(The Vacuum noticed me 500800 pages)
max_connections = 300
(I did a "ps axf | grep postgres | wc -l" and the bash brings to me the
number of 120 and all the people is not online at now)
My qustion is about shared_buffers, in postgresql.conf I have: min 128kB or
max_connections*16kB # (change requires restart)
So I did:
300 * (16Kb / 1024) = 4,69?
What this result means?
Thnks all,
Rafael Domiciano
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: Shared_buffers hint
2008-10-06 11:52 Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
@ 2008-10-06 13:23 ` Marcelo Martins <pglists@zeroaccess.org>
1 sibling, 0 replies; 6+ messages in thread
From: Marcelo Martins @ 2008-10-06 13:23 UTC (permalink / raw)
To: Rafael Domiciano <rafael.domiciano@gmail.com>; +Cc: pgsql-admin
Hi Rafael,
The result there means that the minimal should be 4.69Mb for
shared_buffers
As a rule of thumb the shared buffers should be between 10% - 15% of
available RAM that assuming such is a dedicated PG server.
I have worked on some servers where I set shared buffers lower than
10%, it's really a matter of trying out what value works best for you.
Marcelo
Linux/Solaris System Administrator
http://www.zeroaccess.org
On Oct 6, 2008, at 6:52 AM, Rafael Domiciano wrote:
> HI people,
>
> I'm tuning a server that is a long time abandoned, and this server
> is a little slow.
> Now, in my postgresql.conf I have:
> shared_buffers = 100Mb
> mas_fsm_relations = 15000
> mas_fsm_pages = 1600000
> max_connections = 300
>
> And I changin' to:
> shared_buffers = 1000Mb
> (The server has 2 Gb of memory)
> mas_fsm_relations = 15000
> (The Vacuum noticed me 608 relations)
> mas_fsm_pages = 1600000
> (The Vacuum noticed me 500800 pages)
> max_connections = 300
> (I did a "ps axf | grep postgres | wc -l" and the bash brings to
> me the number of 120 and all the people is not online at now)
>
> My qustion is about shared_buffers, in postgresql.conf I have: min
> 128kB or max_connections*16kB # (change requires restart)
> So I did:
> 300 * (16Kb / 1024) = 4,69?
> What this result means?
>
> Thnks all,
>
> Rafael Domiciano
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: Shared_buffers hint
2008-10-06 11:52 Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
@ 2008-10-06 13:42 ` Scott Marlowe <scott.marlowe@gmail.com>
2008-10-06 13:56 ` Re: Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
1 sibling, 1 reply; 6+ messages in thread
From: Scott Marlowe @ 2008-10-06 13:42 UTC (permalink / raw)
To: Rafael Domiciano <rafael.domiciano@gmail.com>; +Cc: pgsql-admin
On Mon, Oct 6, 2008 at 5:52 AM, Rafael Domiciano
<rafael.domiciano@gmail.com> wrote:
> HI people,
> I'm tuning a server that is a long time abandoned, and this server is a
> little slow.
What version pgsql is it running? If it's 7.4 or before, you should
look at upgrading it. If you can't then a shared buffer setting in
the 1000 to 10000 range is generally reasonable, but large
shared_buffer settings (i.e. over 10000) are counterproductive for 7.4
and before.
> Now, in my postgresql.conf I have:
> shared_buffers = 100Mb
So it's a pretty modern version, since old ones can't read 100Mb as a setting.
> mas_fsm_relations = 15000
> mas_fsm_pages = 1600000
> max_connections = 300
> And I changin' to:
> shared_buffers = 1000Mb
> (The server has 2 Gb of memory)
50% is kind of big. Generally you either want it small enough that
the OS can do the majority of the caching (it's usually better at
caching large amounts of data) or large enough that the kernel cache
doesn't come into play much. 50% means that everything is buffered
exactly twice.
> mas_fsm_relations = 15000
> (The Vacuum noticed me 608 relations)
> mas_fsm_pages = 1600000
> (The Vacuum noticed me 500800 pages)
> max_connections = 300
> (I did a "ps axf | grep postgres | wc -l" and the bash brings to me the
> number of 120 and all the people is not online at now)
> My qustion is about shared_buffers, in postgresql.conf I have: min 128kB or
> max_connections*16kB # (change requires restart)
> So I did:
> 300 * (16Kb / 1024) = 4,69?
> What this result means?
That's just the minimum the server needs to operate. Not operate
well, just operate.
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: Shared_buffers hint
2008-10-06 11:52 Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
2008-10-06 13:42 ` Re: Shared_buffers hint Scott Marlowe <scott.marlowe@gmail.com>
@ 2008-10-06 13:56 ` Rafael Domiciano <rafael.domiciano@gmail.com>
2008-10-06 14:06 ` Re: Shared_buffers hint Scott Marlowe <scott.marlowe@gmail.com>
0 siblings, 1 reply; 6+ messages in thread
From: Rafael Domiciano @ 2008-10-06 13:56 UTC (permalink / raw)
To: Scott Marlowe <scott.marlowe@gmail.com>; +Cc: pgsql-admin
I'm using 8.3.3 version in this machine..!So, the shared_buffers set to
100Mb is ok? Or 500Mb is better?
This server we call "Reporter Server", so it's used to do heavy reports for
a few users only (I could say 5 users).
What could be the best config for my server with:
2 Gb RAM
300 GB HD
Postgres 8.3
Dual Core
2008/10/6 Scott Marlowe <scott.marlowe@gmail.com>
> On Mon, Oct 6, 2008 at 5:52 AM, Rafael Domiciano
> <rafael.domiciano@gmail.com> wrote:
> > HI people,
> > I'm tuning a server that is a long time abandoned, and this server is a
> > little slow.
>
> What version pgsql is it running? If it's 7.4 or before, you should
> look at upgrading it. If you can't then a shared buffer setting in
> the 1000 to 10000 range is generally reasonable, but large
> shared_buffer settings (i.e. over 10000) are counterproductive for 7.4
> and before.
>
> > Now, in my postgresql.conf I have:
> > shared_buffers = 100Mb
>
> So it's a pretty modern version, since old ones can't read 100Mb as a
> setting.
>
> > mas_fsm_relations = 15000
> > mas_fsm_pages = 1600000
> > max_connections = 300
> > And I changin' to:
> > shared_buffers = 1000Mb
> > (The server has 2 Gb of memory)
>
> 50% is kind of big. Generally you either want it small enough that
> the OS can do the majority of the caching (it's usually better at
> caching large amounts of data) or large enough that the kernel cache
> doesn't come into play much. 50% means that everything is buffered
> exactly twice.
>
> > mas_fsm_relations = 15000
> > (The Vacuum noticed me 608 relations)
> > mas_fsm_pages = 1600000
> > (The Vacuum noticed me 500800 pages)
> > max_connections = 300
> > (I did a "ps axf | grep postgres | wc -l" and the bash brings to me
> the
> > number of 120 and all the people is not online at now)
> > My qustion is about shared_buffers, in postgresql.conf I have: min 128kB
> or
> > max_connections*16kB # (change requires restart)
> > So I did:
> > 300 * (16Kb / 1024) = 4,69?
> > What this result means?
>
> That's just the minimum the server needs to operate. Not operate
> well, just operate.
>
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: Shared_buffers hint
2008-10-06 11:52 Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
2008-10-06 13:42 ` Re: Shared_buffers hint Scott Marlowe <scott.marlowe@gmail.com>
2008-10-06 13:56 ` Re: Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
@ 2008-10-06 14:06 ` Scott Marlowe <scott.marlowe@gmail.com>
2008-10-08 13:40 ` Re: Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
0 siblings, 1 reply; 6+ messages in thread
From: Scott Marlowe @ 2008-10-06 14:06 UTC (permalink / raw)
To: Rafael Domiciano <rafael.domiciano@gmail.com>; +Cc: pgsql-admin
On Mon, Oct 6, 2008 at 7:56 AM, Rafael Domiciano
<rafael.domiciano@gmail.com> wrote:
> I'm using 8.3.3 version in this machine..!
> So, the shared_buffers set to 100Mb is ok? Or 500Mb is better?
> This server we call "Reporter Server", so it's used to do heavy reports for
> a few users only (I could say 5 users).
> What could be the best config for my server with:
> 2 Gb RAM
> 300 GB HD
> Postgres 8.3
> Dual Core
100M is probably adequate. 2G is a pretty small database server
memory wise. I assume by 300G HD you mean a single hard drive. Since
a single hard drive is going to limit the speed at which you can
access data from it, I'd leave shared_buffers at 100M and let the OS
cache data for you. Also, look at work_mem. You might want to set
those few heavy users to have more work_mem than the other users.
alter user heavyuser set work_mem=128000;
note that work_mem is per user sort, so it's quite possible to exhaust
main memory if you set it high for everybody and they all do sorts on
large sets suddenly.
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: Shared_buffers hint
2008-10-06 11:52 Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
2008-10-06 13:42 ` Re: Shared_buffers hint Scott Marlowe <scott.marlowe@gmail.com>
2008-10-06 13:56 ` Re: Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
2008-10-06 14:06 ` Re: Shared_buffers hint Scott Marlowe <scott.marlowe@gmail.com>
@ 2008-10-08 13:40 ` Rafael Domiciano <rafael.domiciano@gmail.com>
0 siblings, 0 replies; 6+ messages in thread
From: Rafael Domiciano @ 2008-10-08 13:40 UTC (permalink / raw)
To: Scott Marlowe <scott.marlowe@gmail.com>; +Cc: pgsql-admin
Ok,
I'm trying this...
Thnks a lot!
2008/10/6 Scott Marlowe <scott.marlowe@gmail.com>
> On Mon, Oct 6, 2008 at 7:56 AM, Rafael Domiciano
> <rafael.domiciano@gmail.com> wrote:
> > I'm using 8.3.3 version in this machine..!
> > So, the shared_buffers set to 100Mb is ok? Or 500Mb is better?
> > This server we call "Reporter Server", so it's used to do heavy reports
> for
> > a few users only (I could say 5 users).
> > What could be the best config for my server with:
> > 2 Gb RAM
> > 300 GB HD
> > Postgres 8.3
> > Dual Core
>
> 100M is probably adequate. 2G is a pretty small database server
> memory wise. I assume by 300G HD you mean a single hard drive. Since
> a single hard drive is going to limit the speed at which you can
> access data from it, I'd leave shared_buffers at 100M and let the OS
> cache data for you. Also, look at work_mem. You might want to set
> those few heavy users to have more work_mem than the other users.
>
> alter user heavyuser set work_mem=128000;
>
> note that work_mem is per user sort, so it's quite possible to exhaust
> main memory if you set it high for everybody and they all do sorts on
> large sets suddenly.
>
^ permalink raw reply [nested|flat] 6+ messages in thread
end of thread, other threads:[~2008-10-08 13:40 UTC | newest]
Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2008-10-06 11:52 Shared_buffers hint Rafael Domiciano <rafael.domiciano@gmail.com>
2008-10-06 13:23 ` Marcelo Martins <pglists@zeroaccess.org>
2008-10-06 13:42 ` Scott Marlowe <scott.marlowe@gmail.com>
2008-10-06 13:56 ` Rafael Domiciano <rafael.domiciano@gmail.com>
2008-10-06 14:06 ` Scott Marlowe <scott.marlowe@gmail.com>
2008-10-08 13:40 ` Rafael Domiciano <rafael.domiciano@gmail.com>
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox