apache配置优化

时间:2022-01-10 10:00:58

最近参加了很多面试,多多少少有点小感悟,可以说观念转变了不少,特别是对于作为一个开发人员的定位,原来只是认为开发人员就只需要写好代码就行了,所以只需要有数据结构,算法,设计模式,重构方面的知识就行了。但是经过多次的面试,认识到网站的维护和优化也是开发人员的一个必要的素质。几乎所有的面试官都会问到一个问题,那就是如何优化一个网站,这个问题涉及到很多方面,其实面试官就是想考察你对常见的服务器,数据库的知识是否熟悉。

apache的配置优化可以从以下几个方面来考虑:

一 . 内存

要让服务器运行的足够快,重点是要确保有足够的内存。方法是测定运行Apache进程平均所需的内存容量。将此数目乘上最大负荷量。

如果不管什么原因都无法替服务器加入更多的内存,可以用相同的技术推算出在任何时间能够服务的最大子进程数,并使用MaxClient

指令来限制Apache最多只能处理这么多进程。

二. 调节保持链接(KeepAlive)的设定

http的默认行为是在新的连接上请求文件,这会花费许多时间启动与关闭连接。使用KeepAlive可以在单一连接时进行多个请求,因此

可以减少建立socket连接所需要的时间,而这又会加快客户端在请求网页内容时的加载速度。

KeepAlive On

MaxKeepAliveRequests 0

KeepAliveTimeout 15

三.避免DNS查询

DNS查询会花非常久的时间,因此应该尽量的避免,如果完全无法查询客户端的地址,可能需要几分钟才会让查询过期,而

在这段时间内,执行查询的子进程将无法做其他的事情。方法将HostNameLookups指令始终设为off

四.最佳化符号链接

如果服务器被设定成不遵循符号链接,则Apache必须考虑文件以及目录是不是符号连接。则Apache必须考虑文件以及目录是不是符号链接,

此外,如果启用Option SymLinksIfOwnerMatch, Apache不仅必须检查特定的文件是否是符号链接,还要检查链接本身以及对象的所有权。

虽然这会强制实行某种安全防护原则,但却会花费相当多的时间。并会降低运行速度。如果重点考虑性能,则使用Option FollowSymlinks,即Apache

设置不会检查是不是符号链接。

五.最小化.htaccess文件对性能的影响

只在必要的目录中启用AllowOverride,并告知Apache不要浪费时间在别的位置查找.htacess文件

AllowOverride None

然后以<Diretory>区块启动必要的.htacess文件

六.禁用网页内容协商

如果有可能,请禁用网页内容协商。不过,如果必须使用网络协商,例如有多种语言的网站,则应该使用type-map处理器而非MultiViews指令。

当使用MultiViews送出请求时,Apache都需要取得目录列表。

禁用非必要的网页内容协商。如果真的需要使用网页内容协商,请使用type-map处理器而非MultiViews选项

Option -MultiViews

AddHandler type-map var

七. 最佳化进程的产生

MinSpareServers以及MaxSpareServers指令会控制服务器池的大小,以便永远有子进程等待服务引入的请求。

如果闲置的进程数少于MinSpareServers,则Apache会产生更多的进程达到最少数目;同理,如果空闲进程数比MaxSpareServers多,

Apache则会删除进程直到少于最大数目。

八.调节线程的产生

原理同(七)

apache配置优化的更多相关文章

  1. apache配置优化 - 解决apache环境下网站访问速度慢的问题(重点参考)

    如果apche访问量过大,将会导致页面打开迟缓,下载速度也降低,如果由于经费和环境问题,集群方案没有得以应用.可以通过对Apache2增加模块MPM来进行优化, 这里我选择线程型MPM加以优化:  开 ...

  2. Apache配置优化之开启KeepAlive

    在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求.从而避 ...

  3. Apache配置优化之开启GZip传输

    1.确保apache已经编译的模块里有mod_deflate模块 2.确保apache的配置文件里引入了压缩的模块 3.确保要开启Gzip压缩的虚拟主机配置里有如下配置,并重启apache服务:如果要 ...

  4. Apache配置优化一(查看当前apache数据)

    1.查看当前的运行模块 httpd -l 2.查看httpd进程数 ps -ef | grep httpd | wc -l 3.查看请求80服务的client ip按照连接数排序 netstat -n ...

  5. apache性能配置优化

    最近在进行apache性能优化设置.在修改apache配置文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯.以下的apache配置调优均是在red had的环境下进行的. httpd相关 ...

  6. Apache 性能配置优化

    前言 最近在进行apache性能优化设置.在修改apache配置)文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯.以下的apache配置调优均是在red had的环境下进行的. htt ...

  7. Apache配置压缩优化时报错——undefined symbol&colon; inflateEnd

    Apache配置压缩优化时报错——undefined symbol: inflateEnd 环境:CentOS 6.4 软件版本:httpd-2.4.6 apr-1.4.8 apr-util-1.5. ...

  8. apache的配置优化

    [APACHE的工作方式] prefork模式(默认)这个多路处理模块(MPM)实现了一个非线程型的.预派生的web服务器,它的工作方式类似于Apache 1.3.它适合于没有线程安全库,需要避免线程 ...

  9. Apache性能优化、超时设置,linux 重启apache

    在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#以使httpd-default.php生效.其中调节以下参数Timeout 15 (连接超时 ...

随机推荐

  1. ZIP等

    file命令可以查看文件的类型 tar类型 .targzip类型 .gz bzip2类型 .bz2zip类型 .zip 如果一个压缩文件由tar命令解压的前提,2个条件1.这个文件必须是由tar打包之 ...

  2. UE4 C&plus;&plus; 使用FTimeLine&sol;FTime 实例 Actor moving faster than Timeline

    https://answers.unrealengine.com/questions/313698/timeline-issues.html   https://docs.unrealengine.c ...

  3. 转载--CentOS 6&period;3下部署LVS&lpar;NAT&rpar;&plus;keepalived实现高性能高可用负载均衡

    源地址:http://www.cnblogs.com/mchina/archive/2012/08/27/2644391.html 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台: ...

  4. &lbrack;AIR&rsqb; Screen 的应用

    Screen 类提供此应用程序的可用显示屏幕的相关信息. 屏幕是位于可能更大的“虚拟桌面”内的独立桌面区域.虚拟桌面的原点是操作系统指定的主屏幕的左上角.因此,个别显示屏幕范围的坐标可能是负数.虚拟桌 ...

  5. ubuntu在xampp下安装memcache扩展

    sudo wget http://pecl.php.net/get/memcache-2.2.1.tgz sudo tar vxzf memcache-2.2.1.tgz cd memcache-2. ...

  6. perl编程中的map函数示例

    转自:http://www.jbxue.com/article/14854.html 发布:脚本学堂/Perl  编辑:JB01   2013-12-20 10:20:01  [大 中 小] 本文介绍 ...

  7. Extjs-4&period;2&period;1(二)——使用Ext&period;define自定义类

    鸣谢:http://www.cnblogs.com/youring2/archive/2013/08/22/3274135.html --------------------------------- ...

  8. mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn&grave;t exist的原因和解决方法

    补充:正常情况下,建议数据库备份最好用工具进行备份,通过拷贝数据库表进行数据迁移,不同的环境会出现各种不同的意外问题. 背景:今天在整理一个网站的时候,操作系统由于系统自动更新导致一直出现系统蓝屏死机 ...

  9. elasticsearch client 为空 错误信息:java&period;lang&period;NoSuchMethodError&colon; com&period;google&period;common&period;util&period;concurrent&period;MoreExecutors&period;directExecut‌&ZeroWidthSpace;or&lpar;&rpar;Ljava&sol;util&sol;concu‌&ZeroWidthSpace;rrent&sol;Executor

    错误信息:java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecut‌​or() ...

  10. Delphi 设置快捷键

    = 'Repeat %s(&' + #32 + ')';  //设置快捷键  这个是设置空格的  如果设置字符,  就可以这样写= 'Repeat %s(&H)‘ const SRep ...