RE: [SOAP] Frequent crashes in multithreaded webserver since new WSDLcaching code in ext/soap
| From: | Andi Gutmans | 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 alsothink thatin-memory cache should be the only type of cache we support(why havetwo types of caches really). -Andrei On Apr 17, 2006, at 10:48 PM, Dmitry Stogov wrote:EspeciallyHi 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/soapAndrei, I was agree with your patch only after 5.1.3 release. And I disagree with persistent WSDL by default at all.not botherwithout 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 andinvalidation. Iwith the disk one anymore -- it's just too slow.Yes, we need some mechanism for cache expiration andwill take 1000see 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 memoryit wasn'tcached 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 seemsanother bugstested enough. I looked into it today, found and fixedremaining,in addition to your fix. I cannot be sure that these are latest bugsrelated to thispatch.I know you fixed those bugs. There is at least one morein-memoryaccording to the bug #37083. I am fine with reverting theuntil aftercache (or at least disabling the cache_wsdl) parameterdefault value5.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 usefrim configuration directive. What do you think?I prefer not to break working code, before making better one.Also for what reason you disabled disk cache? I re-enabled it.Because it's too slow?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