首页 > 解决方案 > 我的 Apache2 服务器处理一些 css 和 js 文件的速度很慢。知道为什么吗?

问题描述

我不确定这是服务器问题还是编程问题。我搜索了类似的问题,但找不到类似的东西。

我有一台运行 Debian Buster 的服务器,为 Apache2 上的站点提供服务。本周,我的一个网站变得非常缓慢,渲染一个通常需要 2 到 4 秒的页面需要超过 25 秒。

一开始,我检查了PHP程序,但它在不到1秒的时间内完成了所有处理,有时需要2秒。

因为我必须根据页面的大小放置一些菜单,所以我将所有内容保存在 PHP 变量中,然后决定是否添加额外的菜单。最后,我将变量“回显”到浏览器。

也就是说,在检查了很多之后,我发现:

  1. 当我打开一个页面时,在 PHP 中处理 html 并不需要时间,并且在将其写入浏览器后,浏览器开始“等待 www.mydomainname.tld”20 多秒。
  2. 通过运行 top,我看到 2 或 3 个 Apache 进程在那段时间在服务器上以 100% 的 CPU 运行。
  3. 服务器上缺少我的一个 css 文件。通过替换它,其中一个 100% 的 Apache 进程消失了(可能运行和关闭);
  4. 另一个 CSS 文件在服务器中,但是在 html 页面中调用该文件时,出现了相同的(100% CPU 运行)问题。如果我在 html 中禁用它,一切都会按预期快速运行。在不到 4 秒的时间内在浏览器中呈现顶部。

我知道这不容易重现,现在我禁用了第二个 CSS 文件,所以我的网站正在运行,但如果有人能给我一个想法,我应该在哪里寻找这个解决方案,如果有的话,那就太好了?

我什至检查了硬盘,SMART 标志似乎没问题。还没有停止服务器检查磁盘。我在运行相同系统的虚拟机中拥有该服务器的副本,并且在本地运行速度非常快。我担心我的服务器是否有任何问题需要我进行维护?

补充一点:服务器是一个 AMD 八核,在 RAID1 集中具有 32GB 的 RAM 和 3 TB x 2 个磁盘,所以服务器规格不是罪魁祸首(我认为)

标签: cssserverdebianapache2

解决方案


我在 RAID 中运行了 badblocks 检查,没有发现任何错误。然后我要求支持人员在生产日期之前更换旧磁盘,令人惊讶的是(因为我没有证据证明该磁盘损坏)他们接受了。重建 RAID 集后,缓慢消失了。

因此,这不是一个好的答案,但也可以作为任何有此问题的人的提示。


推荐阅读