Codeigniter:分析和性能

Kev*_*own 6 performance profiling codeigniter

我是应用程序开发和CI的新手,所以我有很多问题.

什么是剖析?怎么用?它是如何工作的?什么被认为是"漫长"的时间?

更重要的是,

如何使用它来提高性能?

我问的原因是b/c我的应用程序现在真的很迟钝.

Sid*_*Sid 10

当您使用分析时,应该清楚它用于查看页面的快速方面.将此行放在开始附近的主控制器中(例如,在调用父的构造函数后立即在构造函数中:

$这 - >输出 - > enable_profiler(TRUE);

这将在结果页面的底部打印大量分析信息.这将包括所有数据库查询,花费多长时间以及在控制器中花费的时间(PHP时间而不是数据库查询时间).

如果某些事情很慢,请启用探查器并检查它是控制器还是查询(或两者).如果是数据库查询,那么你需要改进它们,这本身就是一个完整的主题.如果它是控制器,那么你需要找出具体导致减速的代码.

阅读https://www.codeigniter.com/user_guide/libraries/benchmark.html并开始将基准测试开始和停止标记置于您认为可能导致速度慢的情况下,循环和任何递归函数是您的第一个地方应该检查.一旦找到一段缓慢的代码,你需要找到如何选择它,这本身就是一整套蠕虫.

低速可能是因为硬件坏,服务器繁忙,连接速度慢或其他问题很多,但这些问题超出了本问题的范围.

编辑:只想添加您不使用CI的分析器或基准测试功能来提高速度,只是为了找到速度需要提高的地方.我知道这是一件小事,但我想我应该指出来.


Mik*_*vey 9

在性能调优中,底线是程序在挂钟时间内完成给定任务需要多长时间.我知道这听起来像DUH,但这是每个人都可以同意的一个概念.

有一种非常坚定的信念,为了找到可以有效地优化以加速程序的代码,你可以通过各种函数测量我的测量时间并计算它们被调用的次数.

即使是硬件工程师,我本以为会更好地了解,他们提供了很好的定时器和计数器芯片,当他们正在构建我试图编程的电路板时,认为这将有助于我调整软件.

不,谢谢,我告诉他们.我所需要的只是一种随意停止它的方法,并询问它到底做了什么,以及为什么要这样做.这是随机工作的随意性和问题 - 他正在做什么的方法.如果我多次这样做,而且花费的时间很少,那么我抓不住它的机会基本上是零.

这里有更多关于这个问题.