地球上的大熊, 巧遇上火星的你

[分享]簡單優化php於Apache存取效率

@ 2011-4-5 10:34 PM

剛才在看一個有關php的talk slide時,發現一個簡單優化php於Apache存取效率的方法。

也許有朋友已經很早就知道了~ 不過熊小真的沒想過這有分別…(果然是要多多看多多學)

於apache setting file內 (e.g. /etc/httpd/conf/httpd.conf)


<Directory /var/www>
    DirectoryIndex index.htm index.html
</Directory>


改成
<Directory /var/www>
    DirectoryIndex index.php index.htm index.html
</Directory>

重點是index.php必須加到最前 (熊小之前是加到htm與html之間), 如果是cgi, pl其實都一樣,加到最前。令apache最先存取。


原理
strace your web server process
% /usr/sbin/apache2 -X &
[1] 16367
(hit page a few times to warm up caches)
% strace -p 16367 -o sys1.txt
Process 16367 attached - interrupt to quit
(hit page once)
Process 16367 detached
% grep stat sys1.txt | grep -v fstat | wc -l
153


Common Mistake
stat64("/var/www/index.html", 0xbfd279ac) = -1 ENOENT (No such file or directory)
stat64("/var/www/index.cgi", 0xbfd27afc) = -1 ENOENT (No such file or directory)
stat64("/var/www/index.pl", 0xbfd27afc) = -1 ENOENT (No such file or directory)
stat64("/var/www/index.php", {st_mode=S_IFREG|0664, st_size=7198, ...}) = 0


2 評論

~突然有點無言
這個不是一開始就要先設定好的嗎
(公然吐熊小的嘈~熊小別砍我~~~逃)

發佈者 : dayi 等級: 14等級: 14等級: 14等級: 14  @ 2011-4-5 10:56 PM

index.php一開始有設定(否則論壇也運作不起)…不過沒有放到最前就是了~ (雖然放到第2…當時沒想到效率有差)

怕有人跟熊一樣笨…就提醒一下…害dayi兄無言真是罪過罪過。

發佈者 : Vic 等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32  @ 2011-4-5 11:03 PM

   


  可打印版本 | 推薦給朋友 | 評分