是的,在一个新的环境中设置站点是完全合理的,在这个环境中您可以实际运行性能分析器和其他工具。
正如在这里的评论中所提到的,是的,为了获得最佳效果,您需要一个与生产环境非常相似的环境。为了获得更好的结果,您需要在评测时模拟生产服务器上正在发生的通信量、CPU/磁盘/网络使用情况。
理论上这是可以做到的,但根据我的经验,没有人真正做到这一点,原因有二:
配置和维护是一场噩梦。在生产中这样做更容易(也更准确),这就是为什么存在诸如XHProf之类的轻量级分析工具的原因。与Xdebug不同,这些分析器设计为在生产中、按需或以特定采样率运行。如果你买得起的话,New Relic也是一个不错的选择在共享托管环境中,您的站点运行着数百个,甚至数千个与您类似的应用程序,每个应用程序都消耗CPU、磁盘IO、网络和内存。虽然一些共享主机可能会告诉你你的应用程序正在使用什么,但如果他们告诉你其他应用程序也在做什么,那就有点奇怪了:)我已经分析WordPress应用程序大约十年了,下面是你需要知道的:99%的性能问题都在application code. 不在服务器配置中,不在磁盘io或RAM量中,不在过度饱和的网络中。但在应用程序代码中。
无论环境如何,如果应用程序正在执行以下操作:
add_action( \'init\', function() {
wp_remote_get( \'https://some-third-party-service.org/api/version-check/\' );
} );
如果第三方服务需要1秒的响应时间,那么WordPress网站上的每一个页面加载都将支付1秒的罚款。每一个仅有一个的时间在Windows、Linux和macOS上。使用1G RAM或32G RAM。使用SSD磁盘或旧的旋转磁盘。
您是否发现了运行profiler 在本地计算机上?当然,您可以:
是的,在生产环境中,甚至在共享主机上,使用PHP级别的工具(如查询监视器和调试栏系列)都可以很容易地发现这种幼稚的代码。但是,如果他们没有发现问题,那么在一个有真正的分析工具的环境中,获取生产站点的完整副本,在本地或一些廉价的VP上运行就完全可以了。