zoukankan      html  css  js  c++  java
  • PHP Framework MVC Benchmark 基准测试

    身边有朋友在用yaf框架,讨论的也声音也比较多,今天没事看鸟哥的博客,看到一篇现在PHP主流的几个框架性能对比,比较有意思,给大家分享一下!

    Yaf是用PHP扩展的形式写的一个PHP框架,也就是以C语言的编写,性能上要比PHP代码写的框架要快一个数量级。在执行效率方面,这个框架很可能会是最高的,因为它的作者就是惠新宸

    Case

    测试 MVC 中的 Router -> Controller -> Viewer, 输出 "Hello World" 简单页面,测试 MVC 在理想环境、简单逻辑、框架空载下的性能指标。

    3 项指标

    1) 在 index.php 中使用 microtime() 和 memory_get_usage() 粗略取得执行时间,内存占用情况
    2) 使用 Facebook XHProf 扩展取得详细的资源占用情况,代码执行的 function map
    3) 并发测试

    硬件环境:

    CPU: Intel Core i5 750 (2.67GHz x4)
    RAM: 4GB

    软件环境:

    Debian 6.0.2 x86_64 (2.6.32-5-amd64)

    apache 2.2.16
    mpm-prefork
    mod-php5

    php 5.3.6
    php-apc 3.1.3p1 (全局统一开启APC支持)

    测试的框架清单:

    * zf: Zend Framework
    Site: http://framework.zend.com
    Ver: 1.11.7

    * ci: CodeIgniter
    Site: http://codeigniter.com/
    Ver: 2.0.2

    * yii: Yii Framework
    Site: http://www.yiiframework.com/
    Ver: 1.1.8

    * yaf: Yet Another Framework in PHP Extension
    Site: http://code.google.com/p/yafphp/
    Ver: 2.0.1

    * micromvc: MicroMVC
    Site: http://www.micromvc.com/
    Ver: 3.1.0

    测试代码用例:

    https://github.com/eryx/labs/tree/master/php-framework-benchmark

    测试结果:
    1. 粗测: 内存占用,响应时间
    * zf: Zend Framework

    * ci: CodeIgniter

    * yii: Yii Framework

    * yaf: Yet Another Framework in PHP Extension

    * micromvc: MicroMVC

    * all: 汇总对比
    内存消耗

    执行时间 (毫秒)

    2. XHProf: 执行详情

    * zf: Zend Framework
    执行摘要:

    执行详图:

    * ci: CodeIgniter
    执行摘要:

    执行详图:

    * yii: Yii Framework
    执行摘要:

    执行详图:

    * yaf: Yet Another Framework in PHP Extension
    执行摘要:

    执行详图:

    * micromvc: MicroMVC
    执行摘要:

    执行详图:

    * all: 汇总对比
    函数调用量

    3. 并发测试

    ab -c 100 -n 30000

    ab -c 200 -n 50000

    看完之后第一反应,yaf的运行传输速度都快赶上PHP源码了,感觉就像只是PHP换了一种方式运行,那这个框架里边的东西是否健全?因为还不太了解yaf,不敢评论太多!

  • 相关阅读:
    使用命令xrandr设置当前系统的显示分辨率及显示的旋转脚本
    CODEFORCE 246 Div.2 B题
    Android数据的四种存储方式之SQLite数据库
    C语言默认參数值的实现
    Android开发环境搭建
    也谈OpenFlow, SDN, NFV
    解决设置redmineblacklog的按钮无效问题
    长方体的研究
    表面张力与浮力
    表面张力与浮力
  • 原文地址:https://www.cnblogs.com/liucaodan/p/7065219.html
Copyright © 2011-2022 走看看