加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何优化Apache速度以提供静态内容?

发布时间:2020-12-13 17:14:37 所属栏目:Linux 来源:网络整理
导读:我很清楚ngix对于静态内容要好得多,但我不能使用它.否则,我可以完全访问我的服务器(VPS). 我发现了很多关于优化apache的文章和帖子,但它总是关于PHP应用程序的性能. 我正在使用最新的Apache 2.4.7 我已经在使用MPM了.如果它有意义的话,我正在考虑调整KeepAli
我很清楚ngix对于静态内容要好得多,但我不能使用它.否则,我可以完全访问我的服务器(VPS).

我发现了很多关于优化apache的文章和帖子,但它总是关于PHP应用程序的性能.

我正在使用最新的Apache 2.4.7

我已经在使用MPM了.如果它有意义的话,我正在考虑调整KeepAlive MaxClients等(静态内容)性能?

解决方法

在尝试调优Apache之前,请确保您具有适当的监控,以便您可以查看Apache服务的请求数以及系统资源如何相互关联.一个易于使用的解决方案是 munin.

接下来,准备负载测试,使用该测试可以使系统处于负载状态,以查看不同调整选项的效果.有很多解决方案,从非常简单的ab到JMeter到非常复杂的基于云的解决方案,您可以模拟来自世界各地的数千名访客.搜索“网站负载测试”,你会发现很多解决方案.

最后,以下是我在调优Apache时认为重要的几点:

>删除未使用的模块:使用apache2ctl -M查看加载的模块.如果不需要,则应删除标记(共享)的模块.这将减少Apache的内存占用,并允许您的操作系统将可用RAM用于其他目的(例如缓存).
>不要使用.htaccess文件:将所有设置放在Apache配置中并设置AllowOverride None,这样Apache就不必查找.htaccess文件并在提供请求时解析它们.
>明确允许符号链接:通过设置Options FollowSymLinks -SymLinksIfOwnerMatch,您可以告诉Apache允许使用符号链接,因此可以自由地提供它所读取的文件,而无需验证它们是否是符号链接.这节省了一些系统调用.
>根据您的监控需求,请考虑关闭ExtendedStatus:这将节省一些系统调用,但会为您提供较少的监控信息.不确定它是否真的值得.
>避免过多的日志记录:记录每个请求都会导致相当多的I / O.使用选择性日志记录,您可以控制要记录的请求.以下内容仅记录以.html结尾的URL的请求:

SetEnvIf Request_URI ".html$" dolog
CustomLog /var/log/apache2/access.log combined env=dolog

>如果您不需要SSL,请考虑使用事件MPM,这会导致打开连接(例如由于keepalive)更有效地处理.如果您需要SSL,则事件MPM的功能与Worker MPM相同.有关不同MPM模块的更多信息,请参见How do I select which Apache MPM to use?.
>压缩甚至预压缩数据:通过使用mod_deflate,内容在被发送到客户端之前被压缩.由于您有静态数据,因此可能需要预压缩内容而不是反复压缩相同的数据.有关如何完成此操作,请参阅http://httpd.apache.org/docs/2.4/mod/mod_deflate.html#precompressed.>调整操作系统:使用大型TCP写缓冲区,因此需要更少的系统调用来将请求的数据提交给客户端.还要确保打开文件的最大数量足够高,以便Apache不会遇到该限制.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读