尝试PHP 5.4 Alpha 1

作者:墨鱼 发布于:2011-7-10 11:05 Sunday 分类:PHP

2011-07-11 23:00

语法结构性能测试:

for循环,里面有i++一千万次

PHP 5.2.17 - 0.91秒 ~ 0.94秒

PHP 5.3.6 - 0.71秒 ~ 0.72秒

PHP 5.4.0Alpha1 - 0.51秒 ~ 0.52秒

 

2011-07-11 20:54

内置函数调用测试2:

for循环,里面有i++和is_string($j)一千万次,其中$j为字符串

PHP 5.2.17 - 2.90秒 ~ 2.98秒

PHP 5.3.6 - 2.89秒 ~ 2.94秒

PHP 5.4.0Alpha1 - 1.91秒 ~ 1.94秒

 

2011-07-10 13:01

类调用测试:

for循环,里面有i++和test_a::b()一千万次,其中test_a::b()为return 0

PHP 5.2.17 - 4.85秒 ~ 4.96秒

PHP 5.3.6 - 3.87秒 ~ 3.88秒

PHP 5.4.0Alpha1 - 1.44秒 ~ 1.44秒

 

2011-07-10 12:34

变量调用测试3:

for循环,里面有i++和$j['a']一亿次,其中$j=array(),$j['a'] = 0

PHP 5.2.17 - 14.30秒 ~ 14.61秒

PHP 5.3.6 - 12.15秒 ~ 12.77秒

PHP 5.4.0Alpha1 - 9.22秒 ~ 9.25秒

 

2011-07-10 12:23

变量调用测试2:

for循环,里面有i++和$j->a一亿次,其中$j=new stdClass,$j->a=0

PHP 5.2.17 - 19.14秒 ~ 19.52秒

PHP 5.3.6 - 15.69秒 ~ 15.85秒

PHP 5.4.0Alpha1 - 11.62秒 ~ 11.87秒

 

 

2011-07-10 12:14

变量调用测试1:

for循环,里面有i++和$j一亿次,其中$j=0

PHP 5.2.17 - 8.92秒 ~ 9.08秒

PHP 5.3.6 - 6.90秒 ~ 6.95秒

PHP 5.4.0Alpha1 - 5.02秒 ~ 5.13秒

 

2011-07-10 12:09

变量定义测试3:

for循环,里面有i++和$j=new stdClass一千万次

PHP 5.2.17 - 6.11秒 ~ 6.28秒

PHP 5.3.6 - 6.57秒 ~ 6.69秒

PHP 5.4.0Alpha1 - 3.00秒 ~ 3.07秒

 

2011-07-10 12:01

变量定义测试2:

for循环,里面有i++和$j=array(1,2,3,4,5,6,7)一千万次

PHP 5.2.17 - 9.31秒 ~ 9.38秒

PHP 5.3.6 - 9.04秒 ~ 9.11秒

PHP 5.4.0Alpha1 - 7.92秒 ~ 8.04秒

 

2011-07-10 11:56

变量定义测试1:

for循环,里面有i++和$j=0一亿次

PHP 5.2.17 - 12.43秒 ~ 12.51秒

PHP 5.3.6 - 9.00秒 ~ 9.10秒

PHP 5.4.0Alpha1 - 6.32秒 ~ 6.47秒

 

2011-07-10 11:45

内置函数调用测试1:

for循环,里面有i++和isset($i)一亿次,其中$i存在

PHP 5.2.17 - 15.00秒 ~ 15.16秒

PHP 5.3.6 - 12.04秒 ~ 12.11秒

PHP 5.4.0Alpha1 - 7.11秒 ~ 7.16秒

 

2011-07-10 11:34

自定义函数调用测试:

for循环,里面有i++和test_func()一亿次,test_func()里仅有return 0

PHP 5.2.17 - 33.37秒 ~ 33.67秒

PHP 5.3.6 - 20.80秒 ~ 21.30秒

PHP 5.4.0Alpha1 - 14.30秒 ~ 14.58秒

 

2011-07-10 11:31

i++测试用例:

for循环,里面有i++和j++一亿次。

PHP 5.2.17 - 15.90秒 ~ 16.00秒

PHP 5.3.6 - 13.73秒 ~ 13.80秒

PHP 5.4.0Alpha1 - 10.38秒 ~ 10.47秒

 

2011-07-10 11:27

 

1、i++

2、自定义/内置函数调用测试

3、变量定义/调用测试

4、类调用测试

 

一、时间

二、内存

 

2011-07-10 11:25

准备测试用例。

 

2011-07-10 11:23

PHP 5.2.17安装完成。

 

PHP 5.2.17 (cli) (built: Jul 10 2011 11:36:26) 

Copyright (c) 1997-2010 The PHP Group

Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

 

2011-07-10 11:17

开始安装PHP 5.2.17,作对比用

./configure --prefix=/usr/local/services/5.2.17 && make && make install

 

2011-07-10 11:15

PHP 5.3.6安装完成,比较顺利

 

PHP 5.3.6 (cli) (built: Jul 10 2011 11:29:07) 

Copyright (c) 1997-2011 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

 

2011-07-10 11:09

开始安装PHP 5.3.6,作对比用

./configure --prefix=/usr/local/services/php-5.3.6 && make && make install

 

2011-07-10 11:08

安装完成

 

PHP 5.4.0alpha1 (cli) (built: Jul 10 2011 11:18:51) 

Copyright (c) 1997-2011 The PHP Group

Zend Engine v2.4.0, Copyright (c) 1998-2011 Zend Technologies

 

2011-07-10 11:06

环境:

autoconf (GNU Autoconf) 2.59

Linux linux-q9gc 2.6.16.21_2_ve026test016-1-default #1 Wed Jul 5 21:47:38 MSD 2006 i686 i686 i386 GNU/Linux

gcc version 4.1.0 (SUSE Linux)

 

2011-07-10 11:05

尝试编译安装,./configure --prefix=/usr/local/services/php-5.4.0 && make && make install

途中见到很多warning,可以安装完成。

标签: linux php 性能

评论(0) 引用(0) 浏览(88)

PWS再次提升

作者:墨鱼 发布于:2011-4-27 23:12 Wednesday 分类:PHP

简单提升点:

1、精简输出模式(2%)                    20500->21000

2、文件-函数映射模式(33%)        12000->16000

3、配置为不清理全局变量(28%)    16000->20500

真不容易,75%的提升~~

标签: linux php pws 性能

评论(0) 引用(0) 浏览(144)

几种SERVER模式测试比较~~

作者:墨鱼 发布于:2010-11-20 11:36 Saturday 分类:linux

测试工具:AB

红字为运营参考数值

==================================

epoll-pair
多进程非阻塞监听,并转发到多进程处理
* 对现有架构改变大,进程和Socket管理复杂,处理与分发分开
* 监听进程socket转发开销大,可以通过增加CPU绑定及使用多核CPU提升性能
80%        30100 RPS    4 * 25(sched_setaffinity)
65%        23800 RPS    4 * 25
55%        22200 RPS    2 * 50
40%        14500 RPS    1 * 100


epoll-accept
多进程非阻塞监听并处理
* 对现有架构改变小,进程管理容易,处理与分发混合
* 事件冒泡导致事件误报,且随着进程增多代价增大
55%        19100 RPS    150
55%        23100 RPS    100
60%        26800 RPS    50
60%        27700 RPS    50(sched_setaffinity)
55%        26900 RPS    30
40%        22100 RPS    10


accept
多进程阻塞监听并处理
* 现有架构,进程管理容易,处理与分发混合
45%        28400 RPS    100
50%        28600 RPS    100(sched_setaffinity)

标签: linux 性能 socket epoll accept 管道

评论(0) 引用(0) 浏览(72)

Powered by emlog 粤ICP备11086334号 sitemap