我正在开发与 PHP JSON API 通信的 React 应用程序。我将应用程序的性能与亚马逊网页的性能进行比较。
我的申请:
- 浏览器、Web 服务器和 PHP 服务器(Yii2 框架(在同一台机器上 React 应用程序进行 1 次 API 调用,下载 20kb 数据持续 2 秒(如果数据大约是几个字节,那么"等待 (TTFB("几乎是 2s,"内容下载"是
- 0.0001s;如果数据大约是 20kb,那么"等待 (TTBF("大约是 0.4s,"内容下载"是 1.4s(。
- 页面加载在3s内完成,时间长,体验不好。
亚马逊网页:
- 当然,服务器是远程的。
- 页面加载进行大约 262 次调用,每次调用持续时间不超过 0.3 秒,其中许多时间更少。
- 页面加载在1.5s内完成,体验完美。
如何理解这种性能差异。我可以责怪我的 PHP 服务器配置错误,资源不足吗?我的开发机器有 4GHz CPU,8 个虚拟内核,16GB RAB,后台服务利用的资源非常低。即使是来自 PHP 服务器的 2 个字节的简单响应也需要近 2 秒才能完成。这是编程失败的配置问题吗?
这可能是糟糕的配置,但我首先会检查 Yii 附带的调试器工具,看看每个操作花费了多少时间,以了解代码或数据库查询是否有任何问题。性能不仅与机器资源有关。有先进的优化技术,缓存,负载平衡,CDN的使用,...但无论如何,3s太长了,需要调查才能弄清楚它花在哪里。