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

From: Date: Tue, 18 Apr 2006 17:55:29 +0000
Subject: RE: [SOAP] Frequent crashes in multithreaded webserver since new WSDLcaching code in ext/soap
References: 1 2  Groups: php.soap 
Request: Send a blank email to php-soap+get-2214@lists.php.net to get a copy of this message
Yeah I agree with Dmitry. Disk-cache is not so much about local performance, but about not requiring to open an HTTP connection for fetching the WSDL if it's a remote URL. Actually I think people will often want to use both. You don't want an apachectl restart to require each process to refetch the WSDL file from remote (if you're not using a local copy) At 10:39 AM 4/18/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. 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. 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. Thanks. Dmitry. -----Original Message----- From: Rasmus Lerdorf [mailto:rasmus@lerdorf.com] Sent: Tuesday, April 18, 2006 8:58 PM To: Andrei Zmievski Cc: Dmitry Stogov; 'Uwe Schindler'; soap@lists.php.net Subject: Re: [SOAP] Frequent crashes in multithreaded webserver since new WSDLcaching code in ext/soap Especially since the speedup of the disk-based cache vs. reparsing the wsdl is minimal. It really is quite slow. -Rasmus Andrei Zmievski wrote:
I agree that TTL for in-memory cache is a good idea. I also
think that
in-memory cache should be the only type of cache we support
(why have
two types of caches really). -Andrei On Apr 17, 2006, at 10:48 PM, Dmitry Stogov wrote:
Hi Andrei,
-----Original Message----- From: Andrei Zmievski [mailto:andrei@gravitonic.com] Sent: Tuesday, April 18, 2006 1:36 AM To: Dmitry Stogov Cc: 'Uwe Schindler'; 'Rasmus Lerdorf'; soap@lists.php.net Subject: Re: [SOAP] Frequent crashes in multithreaded webserver since new WSDLcaching code in ext/soap
Andrei, I was agree with your patch only after 5.1.3 release. And I disagree with persistent WSDL by default at all.
Especially
without protection against huge memory usage.
How huge is it really? We can put TTL on in-memory cache as well, but I think that we should have only in-memory cache and
not bother
with the disk one anymore -- it's just too slow.
Yes, we need some mechanism for cache expiration and
invalidation. I
see two big problems: 1) Now it is necessury to change PHP code to disable WSDL in-memory cache to reload changed WSDL. How to develop WSDL? 2) WEB hoster may have 1000 users, and how many memory
will take 1000
cached WSDL files? 3) On slow lines on-disk WSDL cache makes great speedup over direct request. Of course in-memory cache should operate faster. I suggest add some configuration directive to enable/disable in-memory cache. Or change existing ones to have disk/memory/off values.
I hadn't time to look into you patch careful, and seems
it wasn't
tested enough. I looked into it today, found and fixed
another bugs
in addition to your fix. I cannot be sure that these are latest bugs
related to this
patch.
I know you fixed those bugs. There is at least one more
remaining,
according to the bug #37083. I am fine with reverting the
in-memory
cache (or at least disabling the cache_wsdl) parameter
until after
5.1.3.
I think we can stay code in CVS but disable it by default. (Invert the behavior of "cache_wsdl" parameter.) Or we can use
default value
frim configuration directive. What do you think?
Also for what reason you disabled disk cache? I re-enabled it.
Because it's too slow?
I prefer not to break working code, before making better one.
Do you have any ideas about the problem described in the last few comments in the bug?
I'll look. Thanks. Dmitry.
-Andrei -- PHP Soap Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.soap (#2214) next »