【发布时间】:2023-03-14 12:43:01
【问题描述】:
我有一个用 PHP 编写的 Web 应用程序。它使用 MySQL 进行数据存储。今天我决定分析它以找出代码中的瓶颈,并找出它的哪些部分运行得比其他部分慢。平常的东西。我做了很多工作,现在我的页面在桌面上的加载时间不到 0.05 秒。
但是现在我的分析器告诉我,我的应用程序有一半时间都在忙于构建类。 Front 控制器需要Config、Database 和User 类,它们在__construct() 中有自己的事情要做,然后它加载Page 控制器,它加载Cache 和View,然后它会触发Page 的main() 方法。所有这些东西都占用了总工作时间的 50%。剩下的50%用于查询db,处理查询结果输出到View。
问题是:这样可以吗? “50% 用于建筑”的事情?这是否意味着我很好地优化了我的应用程序?我被告知,Web 应用程序最耗时的操作是数据库查询。我优化了它们,应用了一些缓存,现在它们完全在控制之下。而且我实际上对如何优化班级建设一无所知。我应该尝试优化这些__construct() 方法还是保留它们?
【问题讨论】:
标签: php performance optimization profiling