【发布时间】:2016-06-05 20:24:15
【问题描述】:
我使用以下 PHP 代码来测量 PHP / MySQL 脚本的执行时间。
$start = microtime(true);
/* any PHP with HTML output */
echo (microtime(true) - $start);
无论服务器负载如何,此测量始终会打印出相似的结果。各个页面的执行时间通常为 0.1 秒,完全不受服务器负载的影响。
但是当服务器处于某种负载下(100 个并发用户)时,每个页面需要几秒钟才能实际出现在浏览器中。根据这个观察,我假设 HTTP 服务器正在遭受性能下降,对吗?
我应该从哪里着手解决这个问题?
【问题讨论】:
-
分散负载?分析您的代码?检查您的数据库索引/慢查询?哦,这么多不同的答案。
-
@jonstirling 我怀疑它与 PHP 或数据库有什么关系,因为执行时间一直都很低。它表现得好像将 HTTP 数据传输到客户端需要一段时间。会不会是低带宽问题?
-
可以吗?当然,还有一长串其他事情。如果不实际查看减速的原因,您将无法真正了解发生了什么。
-
@jonstirling 那么我应该测量什么以及如何测量它?检查 HTTP 性能。除网站本身未在浏览器中按时显示外,任何其他测量结果均未显示任何下降。