服务端上查看tcp连接的建立情况,直接使用netstat命令来统计,看到了很多的time_wait状态的连接.这些状态是tcp连接中主动关闭的一方会出现的状态.该服务器是nginx的webserver监听80端口,搭配的php-fpm监听9000端口,连接其他服务器数据库3960端口,连接其他服务器的memcache 50028端口.

先查看本机监听80端口的time_wait状态,可以看到不同客户端的ip端口,来连接我的服务端,并且是我服务端主动关闭连接,因此可以看到time_wait,这些对我们服务器没有影响.因为这是http的短连接,肯定是会请求过来就创建一个连接,请求结束就关闭连接.

网上很多说这些如果太多会占用服务器的端口,根本就是不对的,因为这些是占用的是客户端的端口,服务端只是一个80端口,怎么会占用服务器的端口呢.
netstat -altupn|grep ":80"

当然如果前面有负载均衡的话,客户端IP是固定的几个,可以把前面的负载均衡机器当成是客户端.

当然如果我们是通过nginx的反代,反代到fpm的9000端口 , 这个时候是我们本机随机开启端口,连接本机的9000端口 ,这个时候是会占用本机端口数的

还有就是真正占用服务器端口的是,当需要连接数据库时,比如我需要连接数据库的3960端口,这个时候我的服务器会随机占用本机的端口,连接远程的3960端口.因为php连接数据库是使用的短连接,每次请求都会在创建连接,并且是我服务端主动关闭的连接,所以会有大量time_wait状态,这里会占用本机的端口数,连接mc的50028端口也是会出现同样的情况.
netstat -altupn|grep ":3960"

那么如果php使用长连接连接数据库呢?这个时候就是每一个fpm子进程创建一个连接,有多少个子进程就会有多少连接,并且连接是不会断掉的.当然如果子进程的数量特别多,会占用mysql的连接数,所以这里我们的项目里也是使用的短连接.
show variables like 'max_connections'

[PHP] time_wait与长连接短连接的更多相关文章

  1. nginx 代理tcp长连接短连接配置

    https://blog.csdn.net/tayinyinyueyue/article/details/78932697 nginx使用ngx_stream_core_module模块代理tcp长连 ...

  2. 长连接 短连接 RST报文

    https://baike.baidu.com/item/短连接 短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数 ...

  3. HTTP长连接短连接

    一.什么是长连接 HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包.不四次握手),等待 ...

  4. MySQL 线程池&连接池&长连接&短连接

    线程池 简介 1.mysql每连接每线程,mysql都分配一个单独的线程,该线程处理客户端发来的所有命令 2.每个线程会占用一定的系统资源,线程数越多消耗的系统资源也越多 3.线程的创建和销毁有一定的 ...

  5. java socket 长连接 短连接

    长连接 是一旦一个客户端登陆上服务器,其与服务器之间的连接就不关闭,不管他们之间进行了多少次交易,直到客户端退出登陆或网络出现故障.这种技术在联机交易系统实现有利于提高效率. 短连接是客户端每发一个请 ...

  6. Socket 长连接 短连接 心跳 JAVA SOCKET编程

    简单解释就是: 短连接:建立连接,发送数据包.关闭连接 长连接:建立连接.发送数据包,发送心跳包,发送数据包,发送心跳包.发送心跳包. ..... 所以又频繁的数据收发的话.短连接会频繁创建TCP连接 ...

  7. [Golang] 从零開始写Socket Server(3): 对长、短连接的处理策略(模拟心跳)

    通过前两章,我们成功是写出了一套凑合能用的Server和Client,并在二者之间实现了通过协议交流.这么一来,一个简易的socket通讯框架已经初具雏形了,那么我们接下来做的.就是想办法让这个框架更 ...

  8. tcp & 长连接 短连接

    参考文档: tcp协议 http://blog.chinaunix.net/uid-26833883-id-3627644.html 长连接和短连接 http://blog.csdn.net/free ...

  9. http 长连接 & 短连接

    1.意义 同一个TCP连接来发送和接收多个HTTP请求/应答,而不是为每一个新的请求/应答打开新的连接的方法. 2.优 较少的CPU和内存的使用 允许请求和应答的HTTP pipelining 降低网 ...

随机推荐

  1. windows提权

    提权辅助 https://bugs.hacking8.com/tiquan/

  2. 网络编程~~~C/S B/S 架构

    C: client 客户端 B: browse 浏览器 S: server 服务器端 C/S架构: 基于客户端与服务端之间的通信 优点: 个性化设置, 响应速度快 缺点: 开发成本和维护成本高, 占用 ...

  3. python2 和 python3共存的常见使用(如安装虚拟环境的问题)

    1.安装好python2和python3,配置好全部环境变量 环境变量修改后,需要重新启动命令行才有效 2.如何启动不同版本的python 启动的时候会执行python.exe,python2和pyt ...

  4. Python语法速查: 5. 运算符、math模块、表达式

    返回目录 (1)一些较容易搞错的运算符 一般简单的如加减乘除之类的运算符就不写了,这里主要列些一些容易搞错或忘记的运算符.运算符不仅仅只有号,有一些英文单词如 in, and 之类,也是运算符,并不是 ...

  5. goroutine并发之callback回调

    玩玩 package main import ( "fmt" "strings" "sync" ) var wait sync.WaitGr ...

  6. FormData的介绍(一)

    FormData对象介绍FormData字母意思是表单数据,H5新增的一个内置对象.可以获取任何类型的表单数据,如text radio checkbox file textarea 常用语发送ajax ...

  7. 数据嵌入js的关系图

    参照echarts官网,改了一下效果图: 数据放在了js里. 代码: <%@ page language="java" contentType="text/html ...

  8. 让你的网页"抖起来"?!?

    细心的小伙伴可能发现我的左下角有一个抖起来的小按钮,然后页面就开始皮了起来,哈哈好快乐啊 没有利用js,单独的使用了css3的动画就实现了这个效果 css设置 @keyframes shake-it{ ...

  9. Make Them Odd

    time limit per test3 secondsmemory limit per test256 megabytesinput: standard inputoutput: standard ...

  10. Codeforces Round 596 题解

    万幸的是终于碰上了一场上分好场. 不幸的是一开始差点不会 A. 万幸的是想了个不那么稳的结论过了 pretest. 不幸的是罚时很高,而且慌得一比. 万幸的是然后半个小时内把 B 和 C 码了. 不幸 ...