Dave Howorth wrote:
On 2016-06-09 14:39, Per Jessen wrote:
Dave Howorth wrote:
On 2016-06-09 13:10, Per Jessen wrote:
Carlos E. R. wrote:
Well, exactly. Find out the line(s) in the source code where most time is spent.
Already done - 15000 calls of lstat().
SOURCE code! Which line in the PHP.
I know, I know - there are no such calls in the code, so it's in the PHP interpreter.
Yes but which line in the source code causes the interpreter to make those calls? There's no obvious place, so it's necessary to use the debugger to discover where it is.
The developer should see this too, so I'm very curious if he isn't.
Well, I can at least report some progress - a) I have a test system up and running. b) I have xdebug working, I find the documentation is a little lacking, but I'm getting there. c) In utter desperation, I actually went and googled "php many lstat calls": http://grokbase.com/t/php/php-internals/087f1t68mm/lstat-call-on-each-direct... (precisely what I am seeing). I did a function trace, and I do not see loads of clearstatcache() calls, I've increased "realpath-cache-size", but http://php.net/manual/de/function.realpath-cache-size.php
"Note that the realpath cache is not used if either safe_mode is on or an open_basedir restriction is in effect. This is having a huge performance effect, causing lots of calls to lstat. http://bugs.php.net/bug.php?id=52312
I am using "open_basedir", of course. Can't get through to bugs.php.net at the moment. I'm still reading the bugreport. On my test-system, a plain office PC, but directly attached disk (vs. iSCSI), the 15000 lstat calls are done in about 500ms. -- Per Jessen, Zürich (19.6°C) http://www.dns24.ch/ - your free DNS host, made in Switzerland. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org