网站地图    收藏   

主页 > php专栏 > php应用 >

提高php程序性能和负载测试 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 一篇关于提高php程序性能和负载测试的实例代码,有需要的朋友可以看看如何提高自己程序的性能.计算执行的时间,通过下面这个简单的方法可以计算一段程序的执行时间(微妙),代码如下...

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

一篇关于提高php程序性能和负载测试的实例代码,有需要的朋友可以看看如何提高自己程序的性能.

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

  1. $start_time = microtime(true); 
  2.  
  3. //一些需要计算时间的代码 
  4. //... code here ... 
  5.  
  6. print('代码的运行时间是:'.getExecTime($start_time)); 
  7.  
  8. function getExecTime($start_time
  9.  return microtime(true)-$start_time
  10. }PEAR的Benchmark模块提供了更详细的时间统计功能 
  11.  
  12. require_once 'Benchmark/Timer.php'
  13. $timer =& new Benchmark_Timer(true); 
  14. $timer->start(); 
  15. // 设置函数 
  16. $timer->setMarker('setup'); 
  17. // some more code executed here 
  18. $timer->setMarker('middle'); 
  19. // even yet still more code here 
  20. $timer->setmarker('done'); 
  21. // and a last bit of code here 
  22. $timer->stop(); 
  23. $timer->display();通过declare结构和ticks指令可以实现自动记录每一行PHP代码执行的时间 
  24.  
  25. // A function that records the time when it is called 
  26. function profile($dump = FALSE) 
  27.     static $profile
  28.  
  29.     // Return the times stored in profile, then erase it 
  30.     if ($dump) { 
  31.         $temp = $profile
  32.         unset($profile); 
  33.         return ($temp); 
  34.     } 
  35.  
  36.     $profile[] = microtime(); 
  37.  
  38. // Set up a tick handler 
  39. register_tick_function("profile"); 
  40. //开源代码phpfensi.com 
  41. // Initialize the function before the declare block 
  42. profile(); 
  43.  
  44. // Run a block of code, throw a tick every 2nd statement 
  45. declare(ticks=2) { 
  46.     for ($x = 1; $x < 50; ++$x) { 
  47.         echo similar_text(md5($x), md5($x*$x)), ";"
  48.     } 
  49.  
  50. // 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版本.

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

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论