看板 PHP 關於我們 聯絡資訊
※ 引述《JoeHorn (每天都在公司玩OLG)》之銘言: : ※ 引述《MrMarcus (請勿忘記密碼)》之銘言: : : 是說,最近遇到一個狀況。我們做了個東西讓使用者下載回去使用, : : 然後使用過程中,每隔10秒鐘會做一次回報動作,讓我們知道他有在 : : 使用這個東西。回報動作是呼叫Web server上的一個php程式。 : : 開放下載以後,隨著使用的人數增加,我們遇到了CPU loading上升 : : 的問題。大約兩小時後,主機的CPU loading就持續維持在100%了... : : (Xeon 3.06GHz CPU x 2 / 2GB RAM, 記憶體使用量倒是一直算正常) : : 當時同時使用的人數,粗估大概有五六百人。想像一下這幾百人同時 : : 瀏覽一個網站,然後大家每隔10秒鐘就換一頁或者reload一次這樣. : : 處理回報資料的php程式是執行在CodeIgniter這個php framework上面。 : 這些 framework 使用了大量 OO 的架構。 : 基本上,用 OO 是一定得付出代價的。 : (所以... 除非有安全性考量,不然,我不會想用 OO 來兜程式。 :p) : 另外,我想講的跟 PHP 比較沒有關係。 : (板主認為不妥的話請砍吧~) : 您的描述裡面還欠缺幾個重點,不過這些重點非常的 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兩者之間的效能差異,以這次遇到的狀況來說,我想是非常 明顯的。 但是我也不覺得我會從此放棄使用任何php framework,畢竟使用它們所帶來 的好處是值得肯定的。只是下次在遇到有可能對主機加諸類似的負荷的時候, 我會記取教訓,適當回歸最原始但是可能表現最快的寫法:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.237.191