RE: Frequent crashes in multithreaded webserver since new WSDLcaching code in ext/soap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dmitry,

At 19:39 18.04.2006, Dmitry Stogov wrote:
Note that in-memory cache is not shared between processes and/or threads, so
if we have 1000 PHP processes we will ask for WSDL files at least 1000 times
and also after each process restart. Also memory usage will very inefficient
in this case.

It is shared between *threads* (and this is the graet advantage of multithreaded webservers like in my case with SunONE and NSAPI) but you are right, not between processes. So for example CGI, CLI or an apache that is not multithreaded cannot use it correctly (or use shared memory to store the cache, but that would be a lot to do and I think nobody would use it. For example most people store the session also in /tmp (sometimes with a tmpfs) and never use the shm session handler.

If the wsdl is not loaded before forking other processes in prefork mpm apache, the other processes will not see the memory cache. Without disk cache they must reload the WSDL by HTTP and parse it again => webservers that use multiple processes would not benefit of the whole caching.

I think it is better to provide a chose to user use both, memory only, disk
only cahce or don't use cache at all, through configuration directive.

Great. And make the TTL php.ini option also available for mem cache.

I am not agree to delete disk cache, especially because in-memory cache
wasn't tested enough.
And we need to disable in-memory cache by default for this release because
of the same reason.

+1, but for me it works so telle me your configuration options used when you implemented it!


-----
Uwe Schindler
thetaphi@php.net - http://www.php.net
NSAPI SAPI developer
Bremen, Germany

--
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux