Thread: Re: [GENERAL] PostgreSQL and mod_perl trouble (spinlock)

Re: [GENERAL] PostgreSQL and mod_perl trouble (spinlock)

From
"Ryan Schutt"
Date:
We have been encountering the exact same problems with our mod_per +
postgresql set up.  It has been driving us absolutely batty for the past few
months.  It'd be great if someone had a solution!!

-Ryan

-----Original Message-----
From: Patrick Verdon <patrick@kan.co.uk>
To: pgsql-general@postgreSQL.org <pgsql-general@postgreSQL.org>
Date: Sunday, January 24, 1999 12:26 PM
Subject: [GENERAL] PostgreSQL and mod_perl trouble (spinlock)


>
>Hi,
>
>I've been doing some benchmarking with PostgreSQL
>under mod_perl and I've been getting some rather
>disturbing results. To achieve the maximum benefit
>from persitent connections I am using a method
>called 'connect_on_init' that comes with a Perl
>module called Apache::DBI. Using this method,
>when the Web server is first started - each child
>process establishes a persistent connection with
>the database. When using PostgreSQL as the database,
>this causes there to be as many 'postgres'
>processes are there are 'httpd' processes
>for a given database.
>
>As part of my benchmarking I've been testing the
>number of httpd processes that my server can
>support. The machine is a 450 MHz PII/256 MB RAM.
>As an excercise I tried to start 100 httpd
>processes. Doing this consistently results in the
>following PostgreSQL errors and the backend usually
>dies:
>
>IpcSemaphoreCreate: semget failed (No space left on device) key=5432017,
num=16, permission=600
>NOTICE:  Message from PostgreSQL backend:
> The Postmaster has informed me that some other backend died abnormally and
possibly corrupted shared memory.
> I have rolled back the current transaction and am going to terminate your
database system connection and exit.
> Please reconnect to the database system and repeat your query.
>
>FATAL: s_lock(28001065) at spin.c:125, stuck spinlock. Aborting.
>
>Note that the 'no space left on device' is
>misleading as there is a minimum of 400 MB
>available on each file-system on the server.
>
>This is obviously bad news, especially as we are
>hoping to develop some fairly large-scale
>applications with PostgreSQL. Note that this
>happens when connecting to a single database.
>We were hoping to connect to several databases
>from each httpd process!!
>
>The frustrating thing is we have the resources.
>If I only start 30 processes (which seems to be
>the approximate limit) there is about 100 MB
>of RAM that is not being used.
>
>Are there any configuration values that control
>the number of postgres processes? Do you have
>any idea why this is happening?
>
>Is anyone else using Apache/mod_perl and PostgreSQL
>successfully in a demanding environment?
>
>Any help would be greatly appreciated.
>
>Cheers.
>
>
>
>Patrick
>
>--
>
>#===============================#
>\  KAN Design & Publishing Ltd  /
>/  T: +44 (0)1223 511134        \
>\  F: +44 (0)1223 571968        /
>/  E: mailto:patrick@kan.co.uk  \
>\  W: http://www.kan.co.uk      /
>#===============================#
>