用户使用 HTML5 plupload 运行时将照片上传到我的网站,该运行时将文件提交到 php 脚本/upload-process
。
正常情况下,这可以正常工作,但有时调用会/upload-process
超时。
代码的第一行/upload-process
写入日志文件,并且没有与408
s 相对应的条目,因此我认为/upload-process
甚至从未成功到达 - 但是408
s 存在于我的 nginx 错误日志文件中。
plupload 的工作方式是,用户可以将数百张照片添加到队列中,然后点击“上传”并让它继续运行。我发现 408 错误很奇怪,因为一旦出现一次错误,该用户就会为队列中的每个文件都出现一次错误。
例如,昨晚有人在下午 5:30 开始排队,从那时到今天早上 7 点,408
发生了近一千次。日志文件显示它们都在 60 秒后超时。
与此同时,该网站对其他人来说仍然完全可用。当时我自己和另外 200 个人都在使用它。
因此,我猜测有问题的用户与某个保持活动的子进程绑定在一起(我对 HTTP 的工作方式知之甚少),并且该子进程已死亡,并带走了它的所有后续请求 - 这听起来合理吗?我猜它可能是一个 php-fpm 进程,而不是 nginx……?
我可以采取什么步骤来解决这个问题,或者至少调试它以便我更好地了解出了什么问题?
非常感谢!