我在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超出极限。
如果我尝试从PC上复制文件上传的行为,则无法复制,它会快速上传。
我想是一些网络问题,但我无法解决,或者可能是客户端的网络问题。
我怎么知道这里发生了什么?
谢谢。
答案 0 :(得分:0)
可能的建议:病毒检查程序。
您的服务器可能安装了病毒检查程序,该程序在创建文件时会自动扫描文件。这将扫描上传的文件。服务器可能资源不足或服务器的优先级较低,因此扫描上传的文件会花费很长时间。但是,直到扫描完成,它才会将文件释放到Web服务器,因此服务器需要很长时间才能开始运行PHP代码。
我不知道这是否实际上是您的问题,但是我在其他Windows Server机器上也看到了类似的问题。这可能是一个很难诊断的问题。