Apache - 资源随机挂起(导致页面加载缓慢)

 庄大运 发布于 2023-02-13 23:49

资源的HTTP请求是随机的 - 大约1-5%的时间(每个资源,而不是每页加载) - 需要花费很长时间才能传送到浏览器(约20秒),甚至不会无限期地挂起.(服务器详细信息列在底部的列表中).

由于JavaScript资源挂在标记内,因此导致任何页面的每5个请求似乎挂起.

资源是css,js和小图像文件,由apache直接提供(没有脚本语言),尽管页面加载(涉及PHP或Rails)也很少挂起,与其他任何资源的机会相同(1-5%的时间) ,所以这似乎是一个与Apache Request相关的问题.

附加信息:

server-status按照预期检查了闲置的工人,我仍有98%的闲置工人.虽然这可能是相关的,因为挂钩适用于FastCGI不提供的静态资源(资源是静态的).

我不是唯一有这个问题的人.其他人也有同样的问题,并来自不同的IP地址.

这在Google Chrome和Firefox中都会作为HTTP客户端发生.

我已经尝试在新选项卡中不断强制刷新相同的JS文件.它最终导致了同样的悬挂.

谷歌浏览器的"计时"选项卡报告等待34毫秒,其中一个挂起请求报告19.27秒.这是否意味着Apache已经准备好了文件内容,只是在合理的时间内无法提供它?

error.log不显示任何错误.error.log中有一些预期的404和500错误,但这些错误与挂起无关; 那些是不存在的页面和PHP致命错误的实际错误.

我得到一些可疑的206部分内容响应主要是针对静态内容,尽管挂起的次数比那些部分内容更频繁.我大多数时候到处获得200 OK响应,我可以确认无限期挂起apache access.log中报告为200 OK的资源.

我确实为Redmine安装了mod_passenger.我不知道这是否有帮助,但可疑的是这台服务器安装它不像我使用的所有其他服务器.虽然mod_passenger不应该影响静态内容,特别是不在非ruby项目文件夹中,不应该吗?

服务器在Ubuntu 13.10上使用Apache 2.4 Event MPM,托管在Digital Ocean上.

什么可能导致这些挂起,我怎么能解决这个问题?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有