Обсуждение: How many file descriptors does postgres need?

Поиск
Список
Период
Сортировка

How many file descriptors does postgres need?

От
Royce Ausburn
Дата:
G'day all,

We recently had a bit of a catastrophe when one of our postgres databases opened too many files.  It was a reasonably
easyfix, but it did get me thinking.  Is there a rule of thumb in determining how many file descriptors should be
availableto a postgres database/cluster? 

I'd be happy to set it to some large number, but I'd really like some confidence about how much the database can grow
witha new limit. 

Cheers!

--Royce


Re: How many file descriptors does postgres need?

От
Steve Atkins
Дата:
On Mar 9, 2010, at 5:11 AM, Royce Ausburn wrote:

> G'day all,
>
> We recently had a bit of a catastrophe when one of our postgres databases opened too many files.  It was a reasonably
easyfix, but it did get me thinking.  Is there a rule of thumb in determining how many file descriptors should be
availableto a postgres database/cluster? 
>
> I'd be happy to set it to some large number, but I'd really like some confidence about how much the database can grow
witha new limit. 

Postgresql is supposed to cope with file descriptor limits quite happily, as long as the OS actually restricts the
numberof files a process can have open. If it doesn't restrict the number, just falls over if there's too many, there's
apostgresql configuration option to limit it (max_files_per_process, I think). 

What OS are you on, and what was the catastrophe?

Cheers,
  Steve


Re: How many file descriptors does postgres need?

От
Tom Lane
Дата:
Steve Atkins <steve@blighty.com> writes:
> Postgresql is supposed to cope with file descriptor limits quite happily, as long as the OS actually restricts the
numberof files a process can have open. If it doesn't restrict the number, just falls over if there's too many, there's
apostgresql configuration option to limit it (max_files_per_process, I think). 

Usually the problem is not that Postgres falls over, but that everything
else on the box starts to fall over once PG has run the kernel out of
file descriptors.  Make sure max_connections * max_files_per_process is
less than the kernel's file table size, with enough daylight for the
machine's other activities.

            regards, tom lane