[phpa] Graceful restarts with phpa 1.3.2

A feature of 1.3.2 is that if the shm cache is configured to be deleted
at exit, which is the default, then PHPA will now also delete the cache
if it existed at startup. The logic here being that if it should have
been deleted at exit then it shouldn't exist at startup, and with the
intention of effecting a clean start.  Unforunately graceful
restarts cause a problem.

It seems that under light load, a graceful restart will create the
first new apache process, and which then tries to create the cache and
now deletes it first if one exists already, before the old processes
have exited. i.e. the apache processes exiting overlap with new ones
starting. This can cause log messages about 'identifier removed' and
others, and a new cache may not be created.

Doing a normal restart seems to not cause a problem.

Avoiding graceful restarts is therefore suggested. Setting a low
maxrequestsperchild, causing apache processes to cycle naturally, may
be a better approach, and if restarting because of a configuration file
change, issuing a normal restart seems to avoid overlapping process
death and creation.

I'll consider alternative strategies that can work with the behaviour
of graceful restarts for the next release.



------------------------------------------------------------------------
  www.php-accelerator.co.uk           Home of the free PHP Accelerator

To post, send email to phpa@xxxxxxxxxxxxx
To unsubscribe, email phpa-request@xxxxxxxxxxxxx with subject unsubscribe


Other related posts:

  • » [phpa] Graceful restarts with phpa 1.3.2