-
- graes0

-
Total Posts: 14
Joined: 2008-02-22
|
I investigated the performance issues with your web site and I found out that your PHP script loose a lot of time searching for two files named Data.php and Exception.php. In the end they find them but it looks to me like throwing darts. Here is one example:
lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin", {st_mode=S_IFDIR|0711, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code/local", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code/local/Zend", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code/local/Zend/Locale", 0xbffeea0c) = -1 ENOENT (No such file or directory)
open("/home/webadmin/eshop.cosyplanet.be/html/app/code/local/Zend/Locale/Exception.php", O_RDONLY) = -1 ENOENT (No such file or directory)
time(NULL) = 1211431650
lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin", {st_mode=S_IFDIR|0711, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code/community", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code/community/Zend", 0xbffeea0c) = -1 ENOENT (No such file or directory)
open("/home/webadmin/eshop.cosyplanet.be/html/app/code/community/Zend/Locale/Exception.php", O_RDONLY) = -1 ENOENT (No such file or directory)
time(NULL) = 1211431650
lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin", {st_mode=S_IFDIR|0711, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code/core", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code/core/Zend", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/app/code/core/Zend/Locale", 0xbffeea0c) = -1 ENOENT (No such file or directory)
open("/home/webadmin/eshop.cosyplanet.be/html/app/code/core/Zend/Locale/Exception.php", O_RDONLY) = -1 ENOENT (No such file or directory)
time(NULL) = 1211431650
lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin", {st_mode=S_IFDIR|0711, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/lib/Zend", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/lib/Zend/Locale", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/webadmin/eshop.cosyplanet.be/html/lib/Zend/Locale/Exception.php", {st_mode=S_IFREG|0644, st_size=1088, ...}) = 0
open("/home/webadmin/eshop.cosyplanet.be/html/lib/Zend/Locale/Exception.php", O_RDONLY) = 16
So in the end the file is found, but searching for it several times per request is not good at all for performance. Only during a checkout these two files were attempted to be found (and found several times, but the location was not cached or something that could help) for 2413 times:
-bash-3.1# egrep ‘Data.php|Exception.php’ /tmp/httpd.log | wc -l
2413
...so only the files, not also directory scans.
Does anyone has an idea how to solve this. Has someone alraedy been able to tackle this.
Thanks,
Geert
|