友声网

 找回密码
 立即注册
搜索
开启左侧

[文档] Discuz!X 内核性能测试

[复制链接]
admin 发表于 2018-7-6 21:55 | 显示全部楼层 |阅读模式
Discuz!X 内核提供了一种简单的性能测试方法,可以用于测试内核性能或者用户插件运行性能。即使用:
  1. C::analysisStart 和 C::analysisStop
复制代码

两个函数,C::analysisStart() 用于设置检测起点,C::analysisStop() 用于停止检测。下面我们来看一段具体的代码:
  1. require '../../class/class_core.php';

  2. C::analysisStart('test');

  3. $discuz = C::app();
  4. $discuz->init();

  5. echo "<pre>".print_r(C::analysisStop('test'),1)."</pre>";
复制代码

此段代码将计算出 Dz 内核的加载时间,以及加载前后的内存占用情况,运行后输出结果如下:
  1. Array
  2. (
  3.     [start_memory_get_usage] => 407696
  4.     [start_memory_get_real_usage] => 2097152
  5.     [start_memory_get_peak_usage] => 407696
  6.     [start_memory_get_peak_real_usage] => 2097152
  7.     [time] => 28.76306
  8.     [stop_memory_get_usage] => 1103120
  9.     [stop_memory_get_real_usage] => 2097152
  10.     [stop_memory_get_peak_usage] => 1303416
  11.     [stop_memory_get_peak_real_usage] => 2097152
  12. )
复制代码

time 的单位是毫秒,也就是本次内核加载用了 28ms,内存相关参数的单位是字节,可以看到 real_usage 等于 2097152,也就是差不多2M字节了。运行此脚本的主机配置为:Intel® Core™ i5-4460 CPU @ 3.20GHz × 4 ,16GB 内存。

下面我们再看看 C::analysisStart 和 C::analysisStop 的源码:
游客,如果您要查看本帖隐藏内容请回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|RSS|联系|友声网 ( 鲁ICP备15020090号 )

GMT+8, 2020-9-23 18:52 , Processed in 0.212899 second(s), 19 queries , MemCache On.

Powered by Discuz! X

©2006-2020 Comsenz Inc.

快速回复 返回顶部 返回列表