Bug 1003445 - PostgreSQL gear limits too low
PostgreSQL gear limits too low
Product: OpenShift Online
Classification: Red Hat
Component: Containers (Show other bugs)
Unspecified Unspecified
unspecified Severity high
: ---
: ---
Assigned To: Hiro Asari
libra bugs
Depends On:
  Show dependency treegraph
Reported: 2013-09-01 23:51 EDT by Jason Shepherd
Modified: 2015-05-14 19:27 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-09-04 16:15:44 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Jason Shepherd 2013-09-01 23:51:48 EDT
Description of problem:

The resource limits for Postgres are too low.  Max connections were set to only 10, shared buffer set to only 2MB, and effective_cache_size set to only 32. This can be found in postgresql.conf or a gear.

Version-Release number of selected component (if applicable):

Openshift Online 2.0.32
postgresql 9.2

How reproducible:

Create a DJango application that uses Postgres, and load test so that > 10 active DB connections are created.

Actual results:

In the New Relic logs you get:

psycopg2:OperationalError: FATAL: sorry, too many clients already

Expected results:

The application should be able to handle > 10 current connections. 

Additional Notes:

The settings should be configurable.
Comment 1 Clayton Coleman 2013-09-03 08:40:37 EDT
Based on discussion from the thread we need to make the following improvements to the default config:

The smallest config that is relevant is a small gear sharing space with the application server:

max_connections = 100
shared_buffers = 64 megs
effective_cache_size = 186 megs
work_mem = 3 megs

Larger sized gears and non-shared gears could use more of both.
Comment 2 Clayton Coleman 2013-09-03 08:56:14 EDT
For reference we were using out of the box parameters for postgresql - they were completely untuned for real deployments.
Comment 3 Hiro Asari 2013-09-04 10:18:24 EDT
What do limits for larger gears look like?

The jbossas cartridge, for example, sets:

max memory x0.5 for max heap size
max memory x0.2 for PermGen
Comment 4 Hiro Asari 2013-09-04 16:15:44 EDT
Adjusted currently insufficient parameters with https://github.com/openshift/origin-server/pull/3547

The rest will be handled with https://trello.com/c/kuZecQIv/269-provide-a-convenient-means-of-configuring-db-parameters-mysql-mongodb-postgresql
Comment 5 openshift-github-bot 2013-09-04 17:36:28 EDT
Commit pushed to master at https://github.com/openshift/origin-server

Bump up PostgreSQL memory parameters

Bug 1003445
Values are discussed in

Larger gears should allow even larger values, but further discussions
are necessary.

Values are lower on embedded cartridges.

Note You need to log in before you can comment on or make changes to this bug.