zoukankan      html  css  js  c++  java
  • apache站点优化——长连接

    一、长连接介绍

    面临问题:

    http是一个面向连接的协议,用户完成一次请求需要以下步骤

    三次握手

    发起请求

    响应请求

    四次断开

    N个请求就重复N次,如果希望用户能够更快的拿到数据,服务器的压力降到最低,让你去优化这个请求过程。

    解决方案:

    答案很明确,那就是建设每次执行的三次握手和四次断开,最好是一次三次握手建立成功后,在这个数据通道完成所有的请求后,然后在四次断开,这就是优化思路—理想中应该是这样。

    三次握手

    发起请求

    响应请求

    发起请求

    响应请求

    。。。。。

    请求全部完成后,四次断开

    优化目的:

    减少了三次握手和四次断开的次数。

    注意事项:

    长连接需要服务器和客户端浏览器都支持

    长连接特点:

    提升用户访问速度

    降低服务器压力

    大量空闲长连接可能造成服务器压力过大

    二、长连接实现

    apache2.4默认开启了长连接,长连接时间为5s,修改子配置文件httpd-default.conf可以定义该选项

    #开启长连接功能 On为开启 Off为关闭

    KeepAlive On

    #当keepalive打开时,maxkeepaliverequests指令限制每个连接允许的请求数。如果设置为0,则允许无限请求。我们建议将此设置保持为高值以获得最大服务器性能。不建议大家将这个数值设置为0,防止内存溢出。

    MaxKeepAliveRequests 100

    长连接时间,默认单位是秒,也可以使用ms 只需在数值后面添加单位就行了。这个值如果你服务器速度快,网络稳定,建议设置小一点,比如3s,因为目前单个请求都是毫秒级的。避免大量空闲长连接消耗你的系统资源。

    KeepAliveTimeout 5

    实验总结:

    一次用户访问的长连接数根据用户浏览器的不同建立的数量不同,比如chrome,每次会同时建立5个长连接,也就是五个数据通道,然后完成数据请求,所以大家都反应chrome浏览器好用,其他浏览器要看情况,不同浏览器的连接数不同。

  • 相关阅读:
    算法 在一个递增的二维数组中查找一个数
    java web----网络编程基础
    java----集合(Map)
    java----集合(List、set)
    java----数组
    java面试----1
    java----NIO
    java----commons-io
    java----文件操作
    爬虫----爬取答案
  • 原文地址:https://www.cnblogs.com/wenyule/p/12939992.html
Copyright © 2011-2022 走看看