服务器的响应时间 2秒内 优秀 5秒内 不错 10秒糟糕
服务器的性能 cpu 内存 I/0 带宽
可以在需要测试的代码前后增加 2个时间戳 然后优化中间部分 查看其值
@错误抑制符 尽量不要使用 影响速度
利用unset()及时释放不使用的内存
合理使用正则表达式
尽量避免处理密集型大数据
务必使用带引号字符串做键值 不输入引号 我先去查询常量 双引号 还会分析字符串的内容 所以单引号最块
服务器系统,硬盘读写,数据库,内存,缓存 影响的php
比如 拆分 数据库服务器 缓存服务器 数据存储服务器 等。
php操作数据库时间 = 网络传送+ 数据库 重点在数据库端消耗时间长。
开销次序:读写内存<<读写数据量(读写硬盘)<读写磁盘<读写网络数据(隐形开销:网络延迟)
开GZIP有什么好处? 但是会产生cpu额外的开销。
答:Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理,这样就会减小通过网络传输的数据量,提高浏览的速度。
多次请求,内容不变的情况下做输出内容的缓存 (局部数据缓存)
重叠时间窗口思想:也就是串行改成并行
-------------------------------------------------------------------------------------
XHPorf
这里下载两个文件 XHProf 0.10.3 for PHP 5.x 和 xhprof_html.zip
dll文件重命名为 php_xhprof.dll 放在php的ext目录下,然后在php.ini配置里面加入配置
[xhprof]
extension=php_xhprof.dll
xhprof.output_dir=E:/php/log/xhprof_log 不要带引号 保存xhprof分析日志的目录
重启你的wamp即可,看看phpinfo()里面有没有对应的文件
xhprof_html.zip 这个文件解压到你想测试的网站根目录xhprof
设置 xhprof 里面的config.php
define('ERROR_FILE', 'E:/php/log/xhprof_dot_errfile.log'); 错误日志
define('TMP_DIRECTORY', 'E:/php/log/xhprof_log/'); 存xhprof分析日志的目录
define('DOT_BINARY', 'c:/Program Files/Grafika/Graphviz/bin/dot.exe'); 生成图标的工具 需要自己安装
------------------------------------------------------------------------------------------------------
代码使用
xhprof_enable();//开始
/*
内容
*/
$xhprof_data = xhprof_disable();//结束,然后写入文件,注意目录
$XHPROF_ROOT = realpath(dirname(__FILE__).'/xhprof');
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";
$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_foo");
echo "<a href='/xhprof/xhprof_html/?run=$run_id&source=xhprof_foo'>分析</a>";//
图标说明
Function Name 函数名称
Calls 调用次数
Incl. Wall Time(microsec) 当前之后执行时间总和
Excl. Wall Time(microsec) 执行时间