Not 100% sure what my question is here, but I'm curious.

    A little while back I was running PHP-4.0.6 on Solaris8 using apache and
wanted to get an idea of expect performance and configuration issues ( was
mostly curious about my apache configuration to make sure the .htaccess
calls were removed ).   I ran a perl script to hit the following script:

<? print "Test"; ?>

   I trussed an apache/php httpd process and was a little suprised by the
results.
There is a string of open/fstat/getdents64/close calls that are the majority
of the
system activity for the above simple example and I'm assuming is the
majority of
the I/O wait under load.

   I think I traced it down to a call to expand_filepath in
php_fopen_and_set_opened_path.
Not sure why this is done or what it is for.  Could someone please enlighten
me?  It is my
belief that if it could be minimized that it could significantly reduce
system load for simple
php scripts.

   Thanks.  Hope this makes sense.  What follows is the truss for a single
HTTP Get to
the above simple script:

umask(077) = 022
umask(022) = 077
setitimer(ITIMER_PROF, 0xFFBEF520, 0x00000000) = 0
sigaction(SIGPROF, 0xFFBEF3F0, 0xFFBEF470) = 0
sigprocmask(SIG_UNBLOCK, 0xFFBEF510, 0x00000000) = 0
pathconf(".", _PC_PATH_MAX) = 1024
stat64("./", 0xFFBEE408) = 0
stat64("/", 0xFFBEE370) = 0
open64("./../", O_RDONLY|O_NDELAY) = 5
fcntl(5, F_SETFD, 0x00000001) = 0
fstat64(5, 0xFFBECD90) = 0
fstat64(5, 0xFFBEE408) = 0
close(5) = 0
chdir("/local/home/usr/local/apache/htdocs") = 0
open("/local/home/usr/local/apache/htdocs/f.php", O_RDONLY) = 5
pathconf(".", _PC_PATH_MAX) = 1024
stat64("./", 0xFFBED730) = 0
stat64("/", 0xFFBED698) = 0
open64("./../", O_RDONLY|O_NDELAY) = 6
fcntl(6, F_SETFD, 0x00000001) = 0
fstat64(6, 0xFFBECCB8) = 0
fstat64(6, 0xFFBED730) = 0
getdents64(6, 0x0016A538, 1048) = 320
close(6) = 0
open64("./../../", O_RDONLY|O_NDELAY) = 6
fcntl(6, F_SETFD, 0x00000001) = 0
fstat64(6, 0xFFBECCB8) = 0
fstat64(6, 0xFFBED730) = 0
getdents64(6, 0x0016A538, 1048) = 144
close(6) = 0
open64("./../../../", O_RDONLY|O_NDELAY) = 6
fcntl(6, F_SETFD, 0x00000001) = 0
fstat64(6, 0xFFBECCB8) = 0
fstat64(6, 0xFFBED730) = 0
getdents64(6, 0x0016A538, 1048) = 648
close(6) = 0
open64("./../../../../", O_RDONLY|O_NDELAY) = 6
fcntl(6, F_SETFD, 0x00000001) = 0
fstat64(6, 0xFFBECCB8) = 0
fstat64(6, 0xFFBED730) = 0
getdents64(6, 0x0016A538, 1048) = 208
close(6) = 0
open64("./../../../../../", O_RDONLY|O_NDELAY) = 6
fcntl(6, F_SETFD, 0x00000001) = 0
fstat64(6, 0xFFBECCB8) = 0
fstat64(6, 0xFFBED730) = 0
getdents64(6, 0x0016A538, 1048) = 432
close(6) = 0
open64("./../../../../../../", O_RDONLY|O_NDELAY) = 6
fcntl(6, F_SETFD, 0x00000001) = 0
fstat64(6, 0xFFBECCB8) = 0
fstat64(6, 0xFFBED730) = 0
open("/etc/mnttab", O_RDONLY) = 7
fstat64(7, 0xFFBEC678) = 0
ioctl(7, TCGETA, 0xFFBEC604) Err#22 EINVAL
read(7, " / d e v / d s k / c 0 t".., 512) = 455
ioctl(7, (('m'<<8)|1), 0xFF238BE0) = 0
ioctl(7, (('m'<<8)|2), 0x000BEA18) = 0
lstat64("/local", 0xFFBEC898) = 0
lstat64("/local/..", 0xFFBEC898) = 0
llseek(7, 0, SEEK_CUR) = 455
close(7) = 0
close(6) = 0
resolvepath("/local/home/usr/local/apache/htdocs/f.php",
"/local/home/usr/local/apache/htdocs/f.php", 1024) = 46
ioctl(5, TCGETA, 0xFFBEE224) Err#25 ENOTTY
fstat64(5, 0xFFBECAB8) = 0
ioctl(5, TCGETA, 0xFFBECA44) Err#25 ENOTTY
read(5, " < ? p r i n t " T e".., 8192) = 339
read(5, 0x001927B4, 8192) = 0
ioctl(5, TCGETA, 0xFFBECB1C) Err#25 ENOTTY
llseek(5, 0, SEEK_CUR) = 339
close(5) = 0
chdir("/") = 0
umask(022)



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to