我们都知道tcp是基于连接的协议,其实这个连接只是一个逻辑上面的概念,在ip层来看,tcp和udp仅仅是内容上稍有差别而已。

tcp 的连接仅仅是连接两端对于四元组和sequence号的一种约定而已

四元组:源IP 目的IP 源端 目的端口

五元组 :源IP 目的IP 源端 目的端口 协议

七元祖:源IP 目的IP 源端 目的端口 协议 服务类型 接口索引

在性能比较敏感的程序中,为了节省TCP网络调用建立连接三次握手的时间,很多程序都会采用复用之前已经建立过的连接方式来优化

在加上往往是  “请求 响应 请求 响应”的模式 单个连接限制了QPS的提升 所以会采取开启多个连接组 组成一个'池子'的方式来优化性能,

我们称之为"连接池“

http的长连接

  及http持久连接,也称作 http keep-alive 是使用同一个TCP连接来发送和接受多个HTTP请求/应答,而不是为每一个新的请求都新建一个连接

如果浏览器支持keep-alive 它会在包头连接

Connection:Keep-Alive

当服务器收到请求,做出回应的时候 它也会在添加这个到响应中

这样做的话 连接就不会中断,而是保持连接 当客户端发送另一个请求,它会使用同一个连接 这样持续到客户端或服务器端认为回话结束,其中一方断开

在HTTP 1.1 中所有的连接默认都是持续连接,除非特殊声明不支持。http持久连接不使用独立的keepalive信息 而是仅仅允许多个请求使用单个连接、

然而 Apache2.0 httpd的默认连接过期时间是仅仅的15s 对于Apache 2.2 只要5s 短过期时间的优先是能够快速的传输多个web页最贱

而不会绑定多个服务器进程或线程太长时间。

keep-alive

*较少的cpu和内存

*允许请求和应答的HTTP管线化

* 减少了后续请求的延迟(无需再进行握手)

* 报告错误无需关闭tcp连接

对于现在的广泛普及的带宽连接来说 keep-Alive也许并不像以前一样有用,web服务器会保持若干秒的连接

这与提高的性能相比也许会影响性能,对于单个文件被不断请求的服务(如静态文件网站)keep-alive可能会极大的

影响性能,因为它在文件被请求的之后还保持了不必要的连接很长时间

根据RFC2616 用户客户端与任何服务器和代理服务器之间不应该维持超过2个连接,代理服务器应该最多是用2*N个持久连接打其他服务器,

或者代理服务器。其中N是同事活跃的用户数。

这个旨在提高http响应时间并且避免阻塞

但由于tcp连接减少了 对于静态资源较多的网站 性能反而可能会下降。

动静分离--

为了规避上面说的对图片等静态资源的影响,大多数商业网站会启用独立的静态资源域名。

从而保证主站的动态资源请求和静态资源请求不会相互拥挤占用资源、

而且还会有个一个额外的好吃

  对于静态资源的请求,HTTP请求头里的Cookie等信息是没有用处的。反而占用了宝贵的上行网络资源,用独立的域名存放静态资源后,请求

静态资源域名就不会默认带上主站网的cookie。从而解决了这个问题。

python-高级编程-06-长连接&连接池的更多相关文章

  1. 第十章:Python高级编程-多线程、多进程和线程池编程

    第十章:Python高级编程-多线程.多进程和线程池编程 Python3高级核心技术97讲 笔记 目录 第十章:Python高级编程-多线程.多进程和线程池编程 10.1 Python中的GIL 10 ...

  2. Python并发编程06 /阻塞、异步调用/同步调用、异步回调函数、线程queue、事件event、协程

    Python并发编程06 /阻塞.异步调用/同步调用.异步回调函数.线程queue.事件event.协程 目录 Python并发编程06 /阻塞.异步调用/同步调用.异步回调函数.线程queue.事件 ...

  3. python高级编程读书笔记(一)

    python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...

  4. 第九章:Python高级编程-Python socket编程

    第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...

  5. 第十一章:Python高级编程-协程和异步IO

    第十一章:Python高级编程-协程和异步IO Python3高级核心技术97讲 笔记 目录 第十一章:Python高级编程-协程和异步IO 11.1 并发.并行.同步.异步.阻塞.非阻塞 11.2 ...

  6. python高级编程:有用的设计模式3

    # -*- coding: utf-8 -*-__author__ = 'Administrator'#python高级编程:有用的设计模式#访问者:有助于将算法从数据结构中分离出来"&qu ...

  7. python高级编程:有用的设计模式2

    # -*- coding: utf-8 -*- __author__ = 'Administrator' #python高级编程:有用的设计模式 #代理 """ 代理对一 ...

  8. python高级编程:有用的设计模式1

    # -*- coding: utf-8 -*-__author__ = 'Administrator'#python高级编程:有用的设计模式#设计械是可复用的,某种程序上它对软件设计中觉问题提供的语言 ...

  9. python高级编程技巧

    由python高级编程处学习 http://blog.sina.com.cn/s/blog_a89e19440101fb28.html Python列表解析语法[]和生成 器()语法类似 [expr  ...

  10. python高级编程之选择好名称:完

    由于时间关系,python高级编程不在放在这边进行学习了,如果需要的朋友可以看下面的网盘进行下载 # # -*- coding: utf-8 -*- # # python:2.x # __author ...

随机推荐

  1. java控制远程ssh-expect4j(一)

    github : https://github.com/wengyingjian/ssh-java-demo.git 程序写完后,ssh连接到远程服务器上需要做的步骤都是固定的,所以我们可以通过程序来 ...

  2. Writable和Comparable

    WritableComparable接口相当于继承了上述两个接口的新接口 : Public interface WritableComparable<T>extends Writable, ...

  3. sqlserver 查询某表的所有列名

    select name + ',' from syscolumns where id = object_id('SEND_TALLY') AND name <> 'PICDATAS'

  4. 《学习CSS布局》学习笔记

    近几天做了一个小的企业展示网站.虽然页面是在模板的基础上改的,但改的多了不熟悉CSS也很麻烦.正好我看到了学习CSS布局这个网站,于是补习了一下CSS知识. CSS的显示 CSS的元素分为两类:块级元 ...

  5. IT界程序员几大恶习能立即让你变穷,你有吗?

    IT软件开发,确实是各行业中薪水排名靠前的职业,月薪在八千以上的Java程序员多不胜数,但是不知有没有以下几种恶习?如果粘上一种,哪怕你薪水几万,估计最后也是囊中羞涩:综上所述列举以下几点,亲们自己对 ...

  6. 正确配置Nginx+PHP

    对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴.听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出 ...

  7. 怎么在WEBSTORM中设置代码模板 Live Templates

    怎么在WEBSTORM中设置代码模板 Live Templates setting 里面 https://www.cnblogs.com/xinzaimengzai/p/9938464.html

  8. 在2d游戏中常用的向量方式

    function cc.exports.VectorRotateByAngle(vector,angle)--计算向量旋转后的向量,angle:正数逆时针,负输顺时针 angle = angle*ma ...

  9. 【转】 VC中TCP实现 异步套接字编程的原理+代码

    所谓的异步套接字编程就是  调用了 如下函数   WSAAsyncSelect   设置了 套接字的状态为异步,有关函数我会在下面详细介绍... 异步套接字解决了 套接字编程过程中的堵塞问题 .... ...

  10. python生成四位随机数

    有些时候需要发送短信给用户生成四位随机数字,这里在python中我们可以根据python自带的标准库random和string来实现. random下有三个可以随机取数的函数,分别是choice,ch ...