【发布时间】:2018-10-11 15:20:11
【问题描述】:
我在 Windows Server 2008 中有一个带有 Apache、PHP 和 MySQL 的 Web 服务器应用程序。该服务器还提供网页和图像。
最近我注意到一些上传图片的用户(150 个用户中有 8 个用户)从 Apache 获得的响应时间例如是 200 秒,但 PHP 脚本的执行时间是 2 秒。但其他用户不受影响,他们使用的是相同的脚本。
我知道这个时间是因为我将每个请求都记录在 MySQL 表中。
为了在执行结束前获取 apache 响应时间,我使用了
microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"]
并获取我使用的 PHP 执行时间
microtime(true) - $GLOBALS["tiempo_inicio_ejecucion"];
其中 $GLOBALS["tiempo_inicio_ejecucion"] 是我在脚本执行开始时获得的另一个微时间。
服务器负载低,CPU 和 RAM 远未达到极限。
如果我尝试重现这种从我的电脑上传文件的行为,我无法重现它,它上传速度很快。
我想是一些网络问题,但我无法解决,或者可能是客户端的网络问题。
我怎么知道这里发生了什么?
提前致谢。
【问题讨论】:
-
上传的文件大小不超过 2MB。
-
到目前为止,为了重现体验,您进行了哪些测试?结果如何?你能提供上传中涉及的任何代码吗?
-
我正在像用户一样使用应用程序来测试它,上传文件。代码很复杂,文件很多,但问题是在代码开始执行之前,花了很多时间上传或没有执行代码。
-
这是昨天出现的问题,最近几个月运行良好,没有任何变化。
-
您是否尝试过诸如使用低速连接上传?或者在有多个并发连接时进行任何基准测试来测试您的执行时间?您是否托管在共享主机上?你问过你的主人吗?您知道是谁遇到了问题吗?如果知道,您可以联系他们并与他们讨论吗?