作者MrMarcus (请勿忘记密码)
看板PHP
标题Re: [闲聊] PHP Framework效能问题
时间Fri Apr 25 00:21:11 2008
※ 引述《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