ID:               41713
 User updated by:  mplomer at gmx dot de
 Reported By:      mplomer at gmx dot de
 Status:           Open
 Bug Type:         Performance problem
 Operating System: win32 only
 PHP Version:      5.2.4-dev 2007-06-26 00:09
 New Comment:

Another developer tested this on his own machine now, with the same
Apache/PHP environment, and could affirm this behavior. The memory usage
values are respectively 0,1-0,3 MB different, but the principle is the
same. So the behavior seems not to be system dependent.


Previous Comments:
------------------------------------------------------------------------

[2007-06-30 10:19:26] mplomer at gmx dot de

OK, it took me some time to get FastCGI running, but now it works,
and yes ... I can reproduce it there, too.

To be more detailed, I set up the following environment:
- Apache 2.0.59 (minimalistic configuration) with
  mod_fastcgi-SNAP-0404142202-AP2.dll

- Configured FastCGI with 1 process:
  FastCgiServer ../php5/php-cgi.exe -processes 1

- PHP 5.2.3 (without php.ini; only php-cgi.exe and php5ts.dll)

- and the test-script with 400,000 array elements:

<?php
  $elementCount = 400000;

  for ($i = 0; $i < $elementCount; $i++) {
    $variables[$i] = 'x';
  }
?>


Reproducing by looking at the Task-Manager's memory usage
values after each execution of the script:
- Freshly starting Apache
- Child process "php-cgi.exe" is started
                         [php-cgi.exe consumes ~ 4.1 MB]
- Execute the test-script the first time:
                         [php-cgi.exe consumes ~ 4.8 MB]
- Execute one more time: [php-cgi.exe consumes ~ 4.8 MB]
- Execute one more time: [php-cgi.exe consumes ~ 5.3 MB]
  ... might be OK so long

- Execute one more time: [php-cgi.exe consumes ~ 36.4 MB !!!]
  ... from now on this is not OK anymore
- Execute one more time: [php-cgi.exe consumes ~ 36.7 MB]
- Execute one more time: [php-cgi.exe consumes ~ 6.1 MB]

- Execute one more time: [php-cgi.exe consumes ~ 36.4 MB]
- Execute one more time: [php-cgi.exe consumes ~ 36.5 MB]
- Execute one more time: [php-cgi.exe consumes ~ 7.7 MB]

- Execute one more time: [php-cgi.exe consumes ~ 36.7 MB]
- Execute one more time: [php-cgi.exe consumes ~ 36.8 MB]
- Execute one more time: [php-cgi.exe consumes ~ 5.8 MB]

- Execute one more time: [php-cgi.exe consumes ~ 36.4 MB]
- Execute one more time: [php-cgi.exe consumes ~ 36.5 MB]
- Execute one more time: [php-cgi.exe consumes ~ 10.6 MB]

- Execute one more time: [php-cgi.exe consumes ~ 36.7 MB]
- Execute one more time: [php-cgi.exe consumes ~ 36.8 MB]
- Execute one more time: [php-cgi.exe consumes ~ 5.5 MB]

- ...

This is always reproducable, and the memory usage values
are quite the same on each reproducion. (They differ only
sometimes in 4-12 KB.)

But you see, there is a systematic. There are 2 executions,
after which the memory is not freed, and after the third
execution, the memory is mostly freed.

Any ideas for further testing?

------------------------------------------------------------------------

[2007-06-28 00:41:49] [EMAIL PROTECTED]

Thank you, at least we know it only happens with Windows.
Have you tried running PHP as FastCGI under windows?
That might cure this too..


------------------------------------------------------------------------

[2007-06-27 20:56:14] mplomer at gmx dot de

OK, no problem. ... Today I tested this with apache worker, but I still
cannot reproduce it under linux.

I used a Debian 4.0 system and I compiled Apache 2.2.4 with:
./configure --prefix=/usr/local/apache2 --with-included-apr
--with-mpm=worker --enable-so

... and PHP 5.2.3 with:
./configure --prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs --enable-memory-limit

So phpinfo() said, "Thread Safety" is enabled. And I played around with
the elementCount ... but under linux the memory is always completely
freed.

If you have some tips to track this down inside PHP, please let me
know. I now have a working PHP build-environment under windows.

------------------------------------------------------------------------

[2007-06-27 11:54:27] [EMAIL PROTECTED]

It's most likely a ZTS issue, so testing on *nix with e.g. apache
worker and apache2handler SAPI might be a good idea too..

------------------------------------------------------------------------

[2007-06-27 11:42:32] [EMAIL PROTECTED]

Too bad we don't have any developers maintaining Windows port on a
daily basis.
So you're encouraged to help us and investigate the issue.
Any additional information you can find would be appreciated.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/41713

-- 
Edit this bug report at http://bugs.php.net/?id=41713&edit=1

Reply via email to