免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3709 | 回复: 9
打印 上一主题 下一主题

发现可能是include_once极大程度降低性能,怎么办呢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-07 18:27 |只看该作者 |倒序浏览
环境: linux,    apache2.2+php5.2,DSO方式安装,
调试过程如下
1: 简单php脚本,打开mysql并select一行记录打印到页面.用ab压力测试并发10共1000次,得出结果900 request per second
2: 随便加了一个include_once,被include的文件是一些xml解析函数,文件约5k字节大小,全部是function,没有不调用就主动运行的代码.
这个文件再include了另外两个文件,那两个文件都是一些常量和全局变量定义,数据量很少,也就是30来行.没有include其他
3:再进行ab测试,惨!!变成了190 request per second!
4:如果再加上其他的业务流(做的是一个webservice接口),include的文件增加到7个(也都不大),则即使不跑主要的业务逻辑,不访问数据库压力测试的结果只能是60 request per second

我反复删除和逐一增加include_once的项目,写了一个除了include_once之外什么都不做的脚本测试,基本上能确认是include_once文件导致性能的严重下降,大大感到意外!!!!
使用了一些方法比如先检查是否include再调用include_once,没有收效,因为每次执行至少要include_once一次文件,性能已经下降了,不是频繁include_once导致的.
意识到php可能每次接收请求都加载,解释,执行,清除,所以会慢成这样.

不使用include_once?仿佛不可想象.代码重用怎么办,总不能把所有代码都写在一起吧!!

想不通!!

请问有什么办法可以优化解决这个问题?除了安装APC之外.安装了Zend Optimaze,phpinfo打印出已经安装成功,但没有看到明显效果.
volca 该用户已被删除
2 [报告]
发表于 2007-06-07 18:40 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2007-06-07 18:48 |只看该作者
也测试了include绝对路径,性能没有明显提高.

论坛徽章:
0
4 [报告]
发表于 2007-06-07 20:27 |只看该作者
安装了apc,提高了3倍以上性能.

论坛徽章:
0
5 [报告]
发表于 2007-06-08 17:56 |只看该作者
apc是什么东东

论坛徽章:
0
6 [报告]
发表于 2007-06-08 18:14 |只看该作者
这个东西还一直没注意,include_once的性能下降这么明显的

不链接数据库,单独include_once试试

论坛徽章:
0
7 [报告]
发表于 2007-06-08 19:16 |只看该作者
升级到php5.2以上就没问题了。。。当然。。用eacc,xcache应该也可以。。

论坛徽章:
0
8 [报告]
发表于 2007-06-13 15:52 |只看该作者
php速度应该够快,90%的时间估计在等数据库

论坛徽章:
0
9 [报告]
发表于 2007-06-13 16:38 |只看该作者
apc一定要你确认不修改代码了才能上


好像一般网站都要秀修改过的

论坛徽章:
0
10 [报告]
发表于 2007-06-13 16:42 |只看该作者
某个版本的PHP有BUG,include_once()和require_once()很慢,具体是哪个版本忘了。。 正常情况下,include_once()和include()不会差太多的。

你可以升级一下PHP看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP