zoukankan      html  css  js  c++  java
  • Nginx+Apache优化小例子

    HTTP服务器使用Nginx+Apache的搭配,前者负责静态文件的读取,后者负责动态页面的处理。

    首先是Apache参数KeepAlive

    2.x版本的Apache配置该参数需要先启动一下外联配置文件

    在httpd.conf中找到

    #Various default settings

    Include conf/extra/httpd-default.conf

    把第二行前边的”#”去掉。

    然后KeepAlive的参数就在以上路径的配置文件中。

    下边是关于该参数的说明:

    KeepAlive 是否允许持续连接

    MaxKeepAliveRequests 允许的持续连接的最大数

    KeepAliveTimeout 持续连接在没有请求多少秒后切段

    前三个KeepAlive相关的指令用来设置持续连接。通常都是每个HTTP请求对应一个TCP连接,但对于包含许多图片的网页来说,客户端会在瞬间发出多个HTTP请求,此时多次建立TCP连接会大大降低响应速度,此时通过持续连接,可以允许用户在一个TCP连接中发出多个HTTP请求,减少TCP建立次数,提高响应速度。

    这种情况下,应当通过access_log统计出连续HTTP请求出现的次数、间隔时间、访问了,以确定MaxKeepAliveRequests和KeepAliveTimeout的值。KeepAliveTimeout太小发挥不了持续连接的作用;太大了,持续连接迟迟不断,浪费TCP连接不说,更糟糕的是系统中的httpd进程数目会因此不断增加,使得系统负载升高,甚至会导致服务器失去响应。

    但是在处理动态网页请求时,由于用户很少会瞬间请求多个动态网页(一般都是打开页面之后过段时间才会点击),此时,打开KeepAlive无异于浪费TCP连接数。

    结论就是,放动态网页的就KeepAlive Off以提高吞吐量,放静态内容如图片、js代码等就KeepAlive On以减少TCP连接建立次数。

    但一个Apache只能有一种KeepAlive设置,怎么办?很简单,现在有Nginx,由它负责所有静态文件的处理,后端的Apache只需要专心动态应用就行。

    查看KeepAlive是否有效,可以通过curl-I(命令行)获取HTTP爆头查看

    如下变两个不同的结果:

      

    HTTP/1.1 200 OK
    Date: Thu, 09 Jul 2009 06:58:13 GMT
    Server: Apache/2.2.11 (Unix) PHP/5.2.6
    Last-Modified: Fri, 03 Jul 2009 10:40:03 GMT
    ETag: "163e8b2-d87-46dcac765c6c0"
    Accept-Ranges: bytes
    Content-Length: 3463
    Connection: close     连接断开, KeepAlive 为 off
    Content-Type: text/html
    
    #################################
    
    HTTP/1.1 200 OK
    Server: nginx/0.6.35
    Date: Thu, 09 Jul 2009 06:59:49 GMT
    Content-Type: text/html
    Content-Length: 1034
    Last-Modified: Thu, 28 Aug 2008 17:07:40 GMT
    Connection: keep-alive    持续连接, KeepAlive 为 on
    Accept-Ranges: bytes
    内容学习自开源中国:http://www.oschina.net/question/17_1542
  • 相关阅读:
    oracleI基础入门(6)sql语句Substring Crazy
    oracleI基础入门(7)table约束 Crazy
    oracleI基础入门(7)table视图 Crazy
    SQL附加分离数据库(命令)
    双截棍 C语言版 (超搞笑)
    AspNetPage分页(repeater),自己做的例子基本代码
    记录
    RegularExpressionValidator控件中正则表达式用法
    20 个经典的 Ajax + CSS 表格
    GridView各个事件中,怎样获取主键值
  • 原文地址:https://www.cnblogs.com/lgqtecng/p/6416025.html
Copyright © 2011-2022 走看看