- 浏览: 285928 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (298)
- Tomcat (3)
- ZooKeeper (1)
- Maven (11)
- opensource (1)
- DataBase (5)
- UML (8)
- linux (87)
- Java (32)
- 算法 (3)
- Redis (1)
- HBase (2)
- 产品 (1)
- 模板引擎 (1)
- Eclipse (10)
- JUnit (5)
- Log4j (8)
- XML (2)
- JSON (1)
- SpringMVC (23)
- Spring (24)
- TCP/IP (4)
- Windows (10)
- Web Service (1)
- 源码版本管理 (1)
- Word (1)
- Test (1)
- Mybatis (7)
- CentOS (2)
- 多线程 (2)
- Web (7)
- Servlet (3)
- JavaWeb (4)
- MySQL (7)
- 汇编语言 (2)
- linux Shell (4)
- GIT (4)
- Python (1)
- 并发 (4)
- 编程通用 (1)
- JavaScript (1)
- 异常 (3)
- 自动化部署 (1)
- 大数据 (1)
- hive (2)
- 文本编辑器 (2)
- MINA (0)
- intellij IDEA (9)
- masm (0)
- blockchain (1)
- docker (2)
- IDEA (0)
- GO (3)
- nginx (1)
- springBoot (3)
- Websocket (2)
- macOS (1)
最新评论
-
woodding2008:
ss –pl 可以查看监听方式启动的端口以及pid
根据端口查PID,根据PID查进程名称 -
masuweng:
恩很试用,也很常用。
linux 常用命令
from:
http://www.cnblogs.com/mydomain/archive/2013/05/27/3100835.html
网络编程
在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少?
如何标识一个TCP连接
在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个4四元组来唯一标识一个TCP连接:{local ip, local port,remote ip,remote port}。
client最大tcp连接数
client每次发起tcp连接请求时,除非绑定端口,通常会让系统选取一个空闲的本地端口(local port),该端口是独占的,不能和其他tcp连接共享。tcp端口的数据类型是unsigned short,因此本地端口个数最大只有65536,端口0有特殊含义,不能使用,这样可用端口最多只有65535,所以在全部作为client端的情况下,最大tcp连接数为65535,这些连接可以连到不同的server ip。
server最大tcp连接数
server通常固定在某个本地端口上监听,等待client的连接请求。不考虑地址重用(unix的SO_REUSEADDR选项)的情况下,即使server端有多个ip,本地监听端口也是独占的,因此server端tcp连接4元组中只有remote ip(也就是client ip)和remote port(客户端port)是可变的,因此最大tcp连接为客户端ip数×客户端port数,对IPV4,不考虑ip地址分类等因素,最大tcp连接数约为2的32次方(ip数)×2的16次方(port数),也就是server端单机最大tcp连接数约为2的48次方。
实际的tcp连接数
上面给出的是理论上的单机最大连接数,在实际环境中,受到机器资源、操作系统等的限制,特别是sever端,其最大并发tcp连接数远不能达到理论上限。在unix/linux下限制连接数的主要因素是内存和允许的文件描述符个数(每个tcp连接都要占用一定内存,每个socket就是一个文件描述符),另外1024以下的端口通常为保留端口。在默认2.6内核配置下,经过试验,每个socket占用内存在15~20k之间。
影响一个socket占用内存的参数包括:
rmem_max
wmem_max
tcp_rmem
tcp_wmem
tcp_mem
grep skbuff /proc/slabinfo
对server端,通过增加内存、修改最大文件描述符个数等参数,单机最大并发TCP连接数超过10万 是没问题的,国外 Urban Airship 公司在产品环境中已做到 50 万并发 。在实际应用中,对大规模网络应用,还需要考虑C10K 问题。
原文:
http://wanshi.iteye.com/blog/1256282
http://www.cnblogs.com/Solstice/archive/2011/07/01/2095411.html
http://unix.stackexchange.com/questions/30509/what-is-the-formula-to-determine-how-much-memory-a-socket-consumes-under-linux
http://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server
http://soft.chinabyte.com/os/285/12349285.shtml
http://www.cnblogs.com/mydomain/archive/2013/05/27/3100835.html
网络编程
在tcp应用中,server事先在某个固定端口监听,client主动发起连接,经过三路握手后建立tcp连接。那么对单机,其最大并发tcp连接数是多少?
如何标识一个TCP连接
在确定最大连接数之前,先来看看系统如何标识一个tcp连接。系统用一个4四元组来唯一标识一个TCP连接:{local ip, local port,remote ip,remote port}。
client最大tcp连接数
client每次发起tcp连接请求时,除非绑定端口,通常会让系统选取一个空闲的本地端口(local port),该端口是独占的,不能和其他tcp连接共享。tcp端口的数据类型是unsigned short,因此本地端口个数最大只有65536,端口0有特殊含义,不能使用,这样可用端口最多只有65535,所以在全部作为client端的情况下,最大tcp连接数为65535,这些连接可以连到不同的server ip。
server最大tcp连接数
server通常固定在某个本地端口上监听,等待client的连接请求。不考虑地址重用(unix的SO_REUSEADDR选项)的情况下,即使server端有多个ip,本地监听端口也是独占的,因此server端tcp连接4元组中只有remote ip(也就是client ip)和remote port(客户端port)是可变的,因此最大tcp连接为客户端ip数×客户端port数,对IPV4,不考虑ip地址分类等因素,最大tcp连接数约为2的32次方(ip数)×2的16次方(port数),也就是server端单机最大tcp连接数约为2的48次方。
实际的tcp连接数
上面给出的是理论上的单机最大连接数,在实际环境中,受到机器资源、操作系统等的限制,特别是sever端,其最大并发tcp连接数远不能达到理论上限。在unix/linux下限制连接数的主要因素是内存和允许的文件描述符个数(每个tcp连接都要占用一定内存,每个socket就是一个文件描述符),另外1024以下的端口通常为保留端口。在默认2.6内核配置下,经过试验,每个socket占用内存在15~20k之间。
影响一个socket占用内存的参数包括:
rmem_max
wmem_max
tcp_rmem
tcp_wmem
tcp_mem
grep skbuff /proc/slabinfo
对server端,通过增加内存、修改最大文件描述符个数等参数,单机最大并发TCP连接数超过10万 是没问题的,国外 Urban Airship 公司在产品环境中已做到 50 万并发 。在实际应用中,对大规模网络应用,还需要考虑C10K 问题。
原文:
http://wanshi.iteye.com/blog/1256282
http://www.cnblogs.com/Solstice/archive/2011/07/01/2095411.html
http://unix.stackexchange.com/questions/30509/what-is-the-formula-to-determine-how-much-memory-a-socket-consumes-under-linux
http://serverfault.com/questions/10852/what-limits-the-maximum-number-of-connections-on-a-linux-server
http://soft.chinabyte.com/os/285/12349285.shtml
发表评论
-
libssl.so.10: cannot open shared object file: No such file or directory
2018-08-15 14:49 3881yum 安装不管用了,先执 ... -
sed 字符串替换
2018-04-03 19:15 787https://www.cnblogs.com/linux- ... -
连接到Hyperledger的docker容器内部
2018-03-12 21:02 852=============================== ... -
apt-get常用命令及工作原理
2018-03-12 20:17 483http://blog.csdn.net/mosquito_z ... -
在word中如何实现章节标题自动编号
2017-12-06 23:25 854https://jingyan.baidu.com/art ... -
netstat -ano 查看机器端口占用情况
2017-10-06 17:41 2107windows下dos命令窗口输入netstat -ano即可 ... -
Linux Shell 通配符、转义字符、元字符、特殊字符
2017-01-13 18:50 1664一、Linux shell通配符(wildcard) 通配 ... -
Linux单机TCP并发连接
2016-12-28 14:11 912http://blog.csdn.net/kobejayand ... -
linux后台运行和关闭、查看后台任务
2016-12-15 17:09 665from: http://www.cnblogs.com/k ... -
sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory
2016-12-15 17:07 406from http://myswirl.blog.163 ... -
Shell 脚本
2016-12-12 15:22 7951 如何在shell脚本中判断文件或者文件夹是否存在? if ... -
字符编码 - utf-8的中文是一个汉字占三个字节长度吗?
2016-12-09 22:11 1118这是个好问题,可以当 ... -
CentOS7 安装python 命令 : yum install python
2016-12-09 17:53 872CentOS7 安装python 命令 : yum insta ... -
Teamviewer退出锁定远程计算机
2016-12-09 16:58 2225其它—》选项—》高级 看到里面有三个 ... -
linux 目录下的文件个数
2016-12-07 12:44 453linux里没有直接的命令来展示一个目录下的文件个数,可以通过 ... -
grep -v grep
2016-12-06 11:18 1107grep -v <**> <filename ... -
IT技术学习指导之Linux系统入门的4个阶段
2016-12-05 22:36 481http://www.cnbeta.com/articles ... -
Linux 命令參數帶&符合,需要轉義 \
2016-12-04 21:38 418比如新建文件夾 aaa&bbb 命令 mkd ... -
Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
2016-12-04 21:35 795一、& 放在启动参数后面表示设置此进程为后台进程 ... -
CentOS 7.0 安装中文输入法
2016-12-04 00:33 517安装的时候没有设置,现在找到之后记录下: (我这个是 ...
相关推荐
hp-socket Agent模型,单机6w+并发连接数 tcp 压测
先感谢 hp-socket 以及各位开源的前辈! 模块是我这 82 年的电脑硬盘里的 模块只用了 hp-socket 传送 : ...放上一个不成器的tcp压力测试..... 代码写的很烂,各位大佬刀下留情...
经过两个多月的测试(编写c++客户端测试及调优系统参数),测试结果得到单机最大带宽吞吐1000M,测试最高TCP长连接100万,每秒处理连接数达4万,此时系统压力load值很低。 总之,它可以发挥一台服务器的最大极限以...
经过两个多月的测试(编写c++客户端测试及调优系统参数),测试结果得到单机最大带宽吞吐1000M,测试最高TCP长连接100万,每秒处理连接数达4万,此时系统压力load值很低。总之,它可以发挥一台服务器的最大极限以...
测试中,单机10万tcp连接时,消耗内存仅2.4GB。 稳定可靠,可长时间运行, 工作进程崩溃自动恢复。 使用Master-worker方式的多进程、单线程模型。实现了工作进程异常崩溃后的自动重启, 我们熟知的Nginx也使用了Master...
linux系统下实现聊天室 (1)在Linux系统下,使用TCP协议套接字编程; (2)服务器应具有处理多个客户端连接能力(设定最大连接数,如5个); (3)具有群发和私聊的能力; (4)过程描述
阻塞IO下的TTCP实验.mkv8.TCP自连接.mkv9.扩展练习.mkv10.时钟概述.mkv11.时钟精确度和校准.mkv12.网络时间同步.mkv13.Roundtrip代码分析.mkv14.其他测试方案.mkv15.UDP vs TCP.mkv16.扩展知识.mkv17.如何正确使用...
安装时提示选择单店版、连锁总部、连锁分店,请根据需要选择,其中单店版的单机版只允许一台电脑使用,其他版本可以注册时根据注册授权数多机器使用。 三、安装模板数据库 安装完SQL后,请打开光盘目录里的db_...
安装时提示选择单店版、连锁总部、连锁分店,请根据需要选择,其中单店版的单机版只允许一台电脑使用,其他版本可以注册时根据注册授权数多机器使用。 三、安装模板数据库 安装完SQL后,请打开光盘目录里的db_...
这是我从网上下载的,我感觉很不错 ...2行代码使你的客户端程序具有了方便的访问到远端的数据库,像使用本地数据库一样,并且你原有的单机数据库程序可以很方便改为远程数据库。 具体使用方法可以查看DEMO程序
工作台的结构布局、位移量的大小、测量速度等都越来越趋于灵活,自动化程度也越来越高,但是这些工作台大多数都是单机监控的分散结构,有些是通过RS485、现场总线、PLC等把设备连接在一起,构成简单的DCS或FCS网络...
工作台的结构布局、位移量的大小、测量速度等都越来越趋于灵活,自动化程度也越来越高,但是这些工作台大多数都是单机监控的分散结构,有些是通过RS485、现场总线、PLC等把设备连接在一起,构成简单的DCS或FCS网络...
可以通过TCP、UDP和ICMP在一分钟内一直超过某个值进行报警,也可以通过单机一分钟内的流速一直超过某个值进行报警,这样可以及时知道网络异常情况,并通过置水安全无忧信息分析控制软件分析处理; 现场察看: ...
连接,并预测到目标主机的TCP序列号,攻击者就能伪造有害数据包,使之被目标主机接受。对于SYN Flood攻击,目前还没有完全有效的方法,但可以从以下几个方面加以防范: 1. 对系统设定相应的内核参数,使得系统强制...
可以通过TCP、UDP和ICMP在一分钟内一直超过某个值进行报警,也可以通过单机一分钟内的流 速一直超过某个值进行报警,这样可以及时知道网络异常情况,并通过网上特工二代分析处理; 现场察看: 现场图形查看,每...
SoftICE支持单机,用串行线连接的双机或是通过TCP/IP连接的远程计算机上的核心 级和用户级的调试。在DriverStudio 3.1版本中,SoftICE可以: 支持VMware 4.0 在"DriverStudio Config"中提供了一个新的反编译选项页 ...
说明:21是某个连接的sid数 然后用 kill 命令杀此进程号。 五、SQL*PLUS使用 a、近入SQL*Plus $sqlplus 用户名/密码 退出SQL*Plus SQL>exit b、在sqlplus下得到帮助信息 列出全部SQL命令和SQL*Plus命令 SQL>...
SoftICE支持单机,用串行线连接的双机或是通过TCP/IP连接的远程计算机上的核心 级和用户级的调试。在DriverStudio 3.1版本中,SoftICE可以: 支持VMware 4.0 在"DriverStudio Config"中提供了一个新的反编译选项页 ...
新一轮产业变革 1.3 美国工业互联网 互联网 工业 1970s 1980s 1990s 2000s 2010s 单机 数控 计算机辅助设计系统 CAD 柔性制造 系统 计算机辅助制造与工程 CAM/CAE 数控机床 自动化岛 工业使用以计算机为代表的ICT...