看板 PHP 關於我們 聯絡資訊
※ 引述《MrMarcus (請勿忘記密碼)》之銘言: : ※ 引述《JoeHorn (每天都在公司玩OLG)》之銘言: : : 您的描述裡面還欠缺幾個重點,不過這些重點非常的 detail 。 : : 1. HTTP server 是? Apache 有許多可調整的參數,還有 mod_mem_cache 可以用。 :p : 是Windows平台/IIS 6 : : 2. 有沒有用 Zend Optimizer、eAccelerator 等等的 PHP 最佳化 & 快取模組? : 沒有使用 : : 3. 有沒有用 AJAX ? 用 AJAX 可以節省整個 page reload 的負擔。 : 有。這其實不是一般的網頁,使用過程中其實就只有定期作回報的動作而已 : (不需要使用者動手)。回報動作是透過AJAX來執行,每次傳輸的資料量很小, : 傳回給client的資料不超過100 Bytes。 : : 4. 有沒有擺 reverse proxy? : 沒有使用 : 整個平台在2,4兩個地方其實並沒有做很好的效能最佳化,他們對於整體效能的 : 助益是無庸置疑的,這我沒有疑問。不過這次討論的重點我想是在有以及沒有 : 使用php framework兩者之間的效能差異,以這次遇到的狀況來說,我想是非常 : 明顯的。 我對 IIS 不熟(不知道哪邊可以調參數)。 不過,我覺得.. 用 PHP framework, 有無進行 Apache 的 tuning、PHP 最佳化 & 快取模組,測出來的結果差異很大。 舉例一下,這是手上某台機器的 eAccelerator 運作狀態: eAccelerator support enabled Version 0.9.5.2 Caching Enabled true Optimizer Enabled true Memory Size 1,073,741,760 Bytes Memory Available 864,406,688 Bytes Memory Allocated 209,335,072 Bytes Cached Scripts 3655 Removed Scripts 0 Cached Keys 0 (有 3655 個 PHP 檔案被 cache 進 memory 裡面,使用了將近 200M 的記憶體) 另一方面,Apache 的 ETAG、mod_cache、mod_deflate、mod_expires 等等的設定, 也會造成效能上的影響。 (我就是抓不出來, IIS 怎麼調整這些東西... orz) 導入 PHP framework 的好處大家都知道, 大家也知道這些 PHP framework 裡面有一堆 PHP 檔案。 如果不想辦法對這些額外增加的檔案進行處理,任由程式呼叫, 造成 disk I/O 的 overhead,結果可想而知。 : 但是我也不覺得我會從此放棄使用任何php framework,畢竟使用它們所帶來 : 的好處是值得肯定的。只是下次在遇到有可能對主機加諸類似的負荷的時候, : 我會記取教訓,適當回歸最原始但是可能表現最快的寫法:) 這就像 .NET、JSP、PHP、RoR 的比較,這些語言各有優缺,各自擅長。 導入 PHP framework、template engine、DB connector 的導入也要作多方面的考量。 反正... 軟體、網頁程式就是這樣。 維護的便利性、擴充彈性、介面美觀度、效能、開發成本、開發時程,很多是互斥的。 如果互斥了,總不能「要馬跑,又要馬兒不吃草」吧? 您的原文真的不錯啦,把很多人的盲點挖出來了。 XD -- Linux is for people who want to know why it works. Mac is for people who don't want to know why it works. DOS is for people who want to know why it does not work. Windows is for people who don't want to know why it does not work. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.33.21
kylekai:eaccelerator 用到 200M 真的是很多... 04/25 11:41