新手:Apache2 响应时间慢,CPU 100%?

新手:Apache2 响应时间慢,CPU 100%?

正如标题所说,我是这方面的新手,但我愿意学习我需要知道的知识。我现在只是无知。这是一台 Rackspace 服务器,装有 Ubuntu 15.10,运行 Apache2,使用 MySQL。

我有一个 PHP Web 应用程序,它在本地机器上运行良好(尚未优化),但在服务器上页面加载/重新加载时会停滞约 2-4 秒。这似乎是一种累积停滞。时间越长,它似乎变得越慢。

我尝试解决的问题和其他信息:

  1. 我检查了 Chrome 网络工具和 pingdom.com,均表明等待时间最长的是第一个初始请求,而不是本地或外部资源。
  2. 重新启动 apache 会有所帮助,但运行停止然后启动命令似乎会暂时提高加载速度。我在这里注意到的一件事是,当我运行命令“systemctl status apache2.service”时,我开始在“CGroup: /system.slice/apache2.service”下获得相当多的条目。我不确定这是否应该对我有所说明。我应该有 10-20+ 个 CGroup 条目吗?
  3. 我的内存使用量达到峰值约 2.5 亿,CPU 使用率达到 100%。不知道为什么用户这么少,CPU 却这么高。
  4. 此外,如果有必要的话,我正在使用 nodejs、forever 和 socketio 以及 Laravel 5,尽管我不认为这些是导致初始响应等待时间过长的罪魁祸首。

我需要生成或查看哪些其他报告或日志来确定可能的原因?我听说有些人遇到了“资源窃取”问题,而其他人遇到了 DDOS 问题。我该如何排除这样的问题?

这是加载速度更快但仍然不是最佳的 pingdom 结果。(我知道,我需要捆绑我的脚本和样式;)) http://tools.pingdom.com/fpt/#!/jl6bX/http://barkerbot.com/

先感谢您!

答案1

您的页面生成时间很长。您需要:

  • 优化您的应用程序,或增加 CPU 资源
  • 页面缓存可以减少优化需求,但仅限于匿名用户。重新生成页面仍然需要时间。在繁忙的网站上,即使只有几秒钟的缓存也可以减少服务器负载。
  • 设置 CDN(内容分发网络)Cloudflare(有免费计划)。这将减少静态资源的下载时间
  • 更改标题表示静态资源应该被缓存,理想情况下是一周或更长时间。

你可能会发现网页测试网站测试很有用。它显示页面加载时间为 11 - 15 秒 - 在这个水平上,人们将放弃您的网站。

我们需要更多有关您的应用程序和服务器的信息才能提供更多帮助。

相关内容