• 技术文章 >php教程 >php手册

    提高php程序性能和负载测试

    2016-05-25 16:39:14原创424
    一篇关于提高php程序性能和负载测试的实例代码,有需要的朋友可以看看如何提高自己程序的性能.

    计算执行的时间,通过下面这个简单的方法可以计算一段程序的执行时间(微妙),代码如下:

    $start_time = microtime(true); 
     
    //一些需要计算时间的代码 
    //... code here ... 
     
    print('代码的运行时间是:'.getExecTime($start_time)); 
     
    function getExecTime($start_time) 
    { 
     return microtime(true)-$start_time; 
    }PEAR的Benchmark模块提供了更详细的时间统计功能 
     
    require_once 'Benchmark/Timer.php'; 
    $timer =& new Benchmark_Timer(true); 
    $timer->start(); 
    // 设置函数 
    $timer->setMarker('setup'); 
    // some more code executed here 
    $timer->setMarker('middle'); 
    // even yet still more code here 
    $timer->setmarker('done'); 
    // and a last bit of code here 
    $timer->stop(); 
    $timer->display();通过declare结构和ticks指令可以实现自动记录每一行PHP代码执行的时间 
     
    // A function that records the time when it is called 
    function profile($dump = FALSE) 
    { 
    static $profile; 
     
    // Return the times stored in profile, then erase it 
    if ($dump) { 
    $temp = $profile; 
    unset($profile); 
    return ($temp); 
    } 
     
    $profile[] = microtime(); 
    } 
     
    // Set up a tick handler 
    register_tick_function("profile"); 
    // Initialize the function before the declare block 
    profile(); 
     
    // Run a block of code, throw a tick every 2nd statement 
    declare(ticks=2) { 
    for ($x = 1; $x < 50; ++$x) { 
    echo similar_text(md5($x), md5($x*$x)), ";"; 
    } 
    }

    // Display the data stored in the profiler

    print_r(profile (TRUE));注意:ticks 指令在 PHP 5.3.0 中是过时指令,将会从 PHP 6.0.0 移除.

    代码排错

    主要介绍的是Advanced PHP Debugger(APD),通过设置可以生成跟踪文件,对文件进行分析可以得到脚本的详细信息.

    网站压力测试

    人们常混淆压力测试和基准测试,基准测试是一种由单独的开发者完成的临时活动,常用Apache HTTP测试工具——ab,该工具可以测试一台HTTP服务器每秒能相应的请求数,压力测试是一种能中断你WEB应用程序的测试技术,通过对断点测试,能识别并修复应用程序中的弱点,为何时购置新硬件提供依据,常用的开源工具是Siege.

    提速技巧

    通过安装PHP加速器可以有效的提供PHP的执行速度,常见的三种加速器是Alternative PHP Cache(APC)、eAccelerator和ionCube PHP Accelerator(PHPA),另外需要注意的是加速器的兼容性通常会滞后于新发布的PHP版本.

    另外提速技巧是在能不使用正则的时候尽量不要用,通常可替代的方案会比使用正则效率更高.


    文章链接:

    随便收藏,请保留本文地址!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php程序性能 php负载测试
    上一篇:把FCKeditor导入PHP+SMARTY的方法 下一篇:PHP异步调用socket简单实例
    千万级数据并发解决方案

    相关文章推荐

    • 第十四节 命名空间 [14]• PHP动态网页实现静态HTML技术的方法实现• 动态网页技术PHP的数组处理函数库• 开发大型PHP项目的方法(一)• 简化的实现方法(限制为同一会话页面)
    1/1

    PHP中文网