提高php程序性能和负载测试
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-05 09:18:57 浏览: 评论:0
一篇关于提高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");
- //开源代码phpfensi.com
- // 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版本.
另外提速技巧是在能不使用正则的时候尽量不要用,通常可替代的方案会比使用正则效率更高.
Tags: php程序性能 php负载测试
- 上一篇:php sso单点登录实现代码
- 下一篇:php实现记住密码自动登录
相关文章
- ·50个PHP程序性能优化的方法(2021-01-31)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)