本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何对PHP脚本的效率进行基准测试

发布于2021-03-11 05:07     阅读(885)     评论(0)     点赞(17)     收藏(2)


我想知道对我的PHP脚本进行基准测试的最佳方法是什么。cron作业,网页或Web服务无关紧要。

我知道我可以使用microtime,但这是否真的为我提供了PHP脚本的实时性?

我想测试和基准化PHP中执行相同功能的不同函数。例如,preg_matchvsstrposdomdocumentvspreg_match或preg_replace vs str_replace`

网页示例:

<?php
// login.php

$start_time = microtime(TRUE);

session_start(); 
// do all my logic etc...

$end_time = microtime(TRUE);

echo $end_time - $start_time;

这将输出:0.0146126717(一直在变化-但这是我得到的最后一个)。这意味着执行PHP脚本大约需要0.015。

有没有更好的办法?


解决方案


如果您确实想对真实世界的代码进行基准测试,请使用XdebugXHProf之类的工具

Xdebug非常适合您在开发/暂存中使用,而XHProf是一款出色的生产工具,可以在那里安全地运行它(只要您阅读了说明)。任何单个页面加载的结果都不会像看到服务器在执行一百万其他事务以及资源变得稀缺的同时如何执行代码那样具有相关性。这就提出了另一个问题:您是否在CPU上遇到瓶颈?内存?输入/输出?

您还需要关注的不仅仅是脚本中运行的代码,而是如何提供脚本/页面。您正在使用什么Web服务器?举例来说,我可以使nginx + PHP-FPM认真执行mod_php + Apache,这反过来会因使用良好的CDN提供静态内容而被淘汰。

接下来要考虑的是您要优化的内容?

  • 页面在用户浏览器中呈现的速度是否是第一要务?
  • 目标是尽快以最少的CPU消耗将对服务器的每个请求抛回去吗?

前者可以通过gzip压缩发送到浏览器的所有资源的方式来获得帮助,但是这样做(在某些情况下)可能使您进一步远离实现后者。

希望以上所有内容可以帮助表明,精心隔离的“实验室”测试不会反映您在生产中会遇到的变量和问题,并且您必须确定您的高级目标是什么,然后才能达到目标,在前往微观/过早优化路线前往地狱之前



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/930/63c7e0b39651e49095d4/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)