Zend Enabler error Error: Could not locate a free PHP proces

General discussion forum for the Zend Server - The full, commercial edition

Re: Zend Enabler error Error: Could not locate a free PHP pr

Postby ahmadrajab on Tue Oct 11, 2011 2:56 pm

My friend is facing a similar situation, But I dont think he can seem to fix the problem, like printpac there, the php process seems to be using up all its memory and the server is starting to crash
ahmadrajab
 
Posts: 1
Joined: Tue Oct 11, 2011 2:52 pm

Re: Zend Enabler error Error: Could not locate a free PHP pr

Postby cricketzend on Fri Dec 02, 2011 7:22 pm

Ido, can this be a problem if/when the php script sets a timeout (and runs longer) which is larger than the timeout in the zend enabler conf? We've correlated these issues with long-running SOAP calls or MSSQL DB connectivity issues.

We continue to have this issue and are having to restart apache on a regular basis across all of our servers.
cricketzend
 
Posts: 3
Joined: Fri Dec 02, 2011 7:19 pm

Re: Zend Enabler error Error: Could not locate a free PHP pr

Postby cricketzend on Fri Dec 02, 2011 8:38 pm

I was able to create a scenario to reproduce this. Maybe this will help find a solution.

In ZendEnablerConf.xml set the connection timeout to 5 seconds and the request timeout to 10 seconds (<Timeouts connectionTimeout="5" requestTimeout="10" />). Set it to only startup 1 process (<ProcessCount start="1" extra="1"/>). In the php.ini set the execution time to 30 seconds.
create a php script that does the following:
1. sleep(8) // wait for 8 seconds
2. create a soap call (or MSSQL db call) that will take longer than 2 seconds.
3. open a browser and reload your test page 5-10 times quickly, not waiting for them to complete/timeout.

In our case, this represents a valid production scenario. We have SOAP requests that can take 2-3 minutes at times so we use php's set_time_limit() to increase the timeout on the fly before we make the SOAP request. I believe this is conflicting with Zend Enabler's request timeout setting, which causes the timeout and the apache php process to hang up.
cricketzend
 
Posts: 3
Joined: Fri Dec 02, 2011 7:19 pm

Re: Zend Enabler error Error: Could not locate a free PHP pr

Postby idobms on Fri Dec 02, 2011 10:27 pm

You are describing an interesting scenario. Thanks for sharing the information. We will need to run it in our lab and see what the fast cgi processes are doing when the long call returns and if the fact that the request timeout was reached before causes the process to wait.

Did you find any correlation between this issue and the enabler “Error: Process terminated right after start". Status -1073741502 is a STATUS_DLL_INIT_FAILED (0xC0000142) error. One of the symptoms of memory heap exhaustion is a STATUS_DLL_INIT_FAILED in user32.dll when a new process starts. It might be that after some time a few processes are hung which will cause apache to launch more fast cgi processes and reach the desktop heap limit.

Ido
User avatar
idobms
 
Posts: 90
Joined: Thu Nov 05, 2009 1:18 am

Re: Zend Enabler error Error: Could not locate a free PHP pr

Postby cricketzend on Fri Dec 02, 2011 10:44 pm

Ido, when we did the live sessions with you and Nick, we monitored the desktop heap usage and it didnt seem to change at all when we observed the server issues. That was a while ago and we have not monitored it recently. From what I remember, the php soap DLL and sql server DLL was not working well with long running processes (or large payload request/responses). I thought your team was looking into the dll's for 64bit o/s and determining if they were causing the problem.
cricketzend
 
Posts: 3
Joined: Fri Dec 02, 2011 7:19 pm

Re: Zend Enabler error Error: Could not locate a free PHP pr

Postby idobms on Fri Dec 02, 2011 11:42 pm

I believe that the issue with the soap dll was causing a crash in fastcgi and was addressed a while ago. This scenario of getting the fast cgi not to exit after long transactions seems to be different. We will try to replicate the scenario you provided and understand what is the process waiting on in order to exit properly.
User avatar
idobms
 
Posts: 90
Joined: Thu Nov 05, 2009 1:18 am

Re: Zend Enabler error Error: Could not locate a free PHP pr

Postby idobms on Mon Jan 09, 2012 7:04 pm

The occasional apache processes hang related to the timeouts scenario should be fixed in Zend Server 5.6. Thanks for the detailed description of the problem.
User avatar
idobms
 
Posts: 90
Joined: Thu Nov 05, 2009 1:18 am

Previous

Return to Zend Server

Who is online

Users browsing this forum: Exabot [Bot] and 1 guest