当前位置:Gxlcms > PHP教程 > 提高php程序性能和负载测试_PHP教程

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

时间:2021-07-01 10:21:17 帮助过:2人阅读

一篇关于提高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版本。

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


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444723.htmlTechArticle一篇关于提高php程序性能和负载测试的实例代码,有需要的朋友可以看看如何提高自己程序的性能哦。 计算执行的时间 通过下面这个简单的...

人气教程排行