作者JoeHorn (每天都在公司玩OLG)
看板PHP
标题Re: [闲聊] PHP Framework效能问题
时间Fri Apr 25 02:56:12 2008
※ 引述《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
1F:推 kylekai:eaccelerator 用到 200M 真的是很多... 04/25 11:41