- 浏览: 301532 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 4431yum 安装不管用了,先执 ... -
sed 字符串替换
2018-04-03 19:15 833https://www.cnblogs.com/linux- ... -
连接到Hyperledger的docker容器内部
2018-03-12 21:02 902=============================== ... -
apt-get常用命令及工作原理
2018-03-12 20:17 542http://blog.csdn.net/mosquito_z ... -
在word中如何实现章节标题自动编号
2017-12-06 23:25 897https://jingyan.baidu.com/art ... -
netstat -ano 查看机器端口占用情况
2017-10-06 17:41 2140windows下dos命令窗口输入netstat -ano即可 ... -
Linux Shell 通配符、转义字符、元字符、特殊字符
2017-01-13 18:50 1730一、Linux shell通配符(wildcard) 通配 ... -
Linux单机TCP并发连接
2016-12-28 14:11 949http://blog.csdn.net/kobejayand ... -
linux后台运行和关闭、查看后台任务
2016-12-15 17:09 705from: http://www.cnblogs.com/k ... -
sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory
2016-12-15 17:07 440from http://myswirl.blog.163 ... -
Shell 脚本
2016-12-12 15:22 8441 如何在shell脚本中判断文件或者文件夹是否存在? if ... -
字符编码 - utf-8的中文是一个汉字占三个字节长度吗?
2016-12-09 22:11 1151这是个好问题,可以当 ... -
CentOS7 安装python 命令 : yum install python
2016-12-09 17:53 914CentOS7 安装python 命令 : yum insta ... -
Teamviewer退出锁定远程计算机
2016-12-09 16:58 2276其它—》选项—》高级 看到里面有三个 ... -
linux 目录下的文件个数
2016-12-07 12:44 491linux里没有直接的命令来展示一个目录下的文件个数,可以通过 ... -
grep -v grep
2016-12-06 11:18 1152grep -v <**> <filename ... -
IT技术学习指导之Linux系统入门的4个阶段
2016-12-05 22:36 522http://www.cnbeta.com/articles ... -
Linux 命令參數帶&符合,需要轉義 \
2016-12-04 21:38 457比如新建文件夾 aaa&bbb 命令 mkd ... -
Linux Shell编程中的几个特殊符号命令 & 、&& 、 ||
2016-12-04 21:35 823一、& 放在启动参数后面表示设置此进程为后台进程 ... -
CentOS 7.0 安装中文输入法
2016-12-04 00:33 546安装的时候没有设置,现在找到之后记录下: (我这个是 ...
相关推荐
TCP 连接数,约为 2 的 48 次方。 UDP 和 TCP 的主要区别是,UDP 不提供复杂的控制机制,利用 IP 提供面向“无连接”的通信服务。UDP 协议真的非常簡單,头部只有 8 个字节(64 位),UDP 的头部格式如下:目标和源...
通过对以上技术点的整合与优化,hp-socket Agent模型能够在单机上实现对6万多个并发TCP连接的有效管理和高效处理,这对于构建大型分布式系统、互联网服务或者大数据处理平台等有着重要的实践价值。 在实际应用中,...
此外,限制服务器的并发连接数、设置访问权限也能增加系统的安全性。 8. **测试与调试**:为了确保程序的正确性,需要在本地进行充分的测试,包括单机测试和跨网络的测试。可以使用“TCP测试工具”或者自定义的...
先感谢 hp-socket 以及各位开源的前辈! 模块是我这 82 年的电脑硬盘里的 模块只用了 hp-socket 传送 : ...放上一个不成器的tcp压力测试..... 代码写的很烂,各位大佬刀下留情...
经过两个多月的测试(编写c++客户端测试及调优系统参数),测试结果得到单机最大带宽吞吐1000M,测试最高TCP长连接100万,每秒处理连接数达4万,此时系统压力load值很低。 总之,它可以发挥一台服务器的最大极限以...
经过两个多月的测试(编写c++客户端测试及调优系统参数),测试结果得到单机最大带宽吞吐1000M,测试最高TCP长连接100万,每秒处理连接数达4万,此时系统压力load值很低。总之,它可以发挥一台服务器的最大极限以...
2. **游戏逻辑**:麻将规则的理解和实现,包括洗牌、发牌、胡牌条件、番数计算等,这些都需要精确无误地用代码表达出来。 3. **单机AI设计**:在单机模式下,AI的设计至关重要。可能涉及各种算法,如最小最大搜索、...
- TCP连接数:调整TCP连接数,以支持更多的并发连接。 - 内存管理:通过调整swap策略等来优化内存使用效率。 3. **安全设置**:确保操作系统安装最新的安全补丁,并启用防火墙规则来保护数据库的安全。 通过上述...
首先设置默认策略为接受(`iptables -P INPUT ACCEPT`和`iptables -P OUTPUT ACCEPT`),然后添加规则允许5236端口的TCP连接进入(`iptables -A INPUT -p tcp --dport 5236 -j ACCEPT`)和离开(`iptables -A OUTPUT...
4. **流量统计(Traffic Statistics)**:解析后的数据包可以用于计算网络流量,比如上传/下载速度、总流量、连接数等。易语言中的变量和数据结构可以用来存储和处理这些统计信息。 5. **界面显示(User Interface...
在 Weblogic 10.3 中,可以通过修改 `weblogic\user_projects\domains\<domain_name>\config\config.xml` 文件来设置连接池连接数。 4. Weblogic 的服务设置 Weblogic 的服务设置是影响服务器性能的重要参数之一。...
测试中,单机10万tcp连接时,消耗内存仅2.4GB。 稳定可靠,可长时间运行, 工作进程崩溃自动恢复。 使用Master-worker方式的多进程、单线程模型。实现了工作进程异常崩溃后的自动重启, 我们熟知的Nginx也使用了Master...
- **dispatchers='(PROTOCOL=TCP)(SERVICE=readdb1XDB)'**: 分发器设置。 - **job_queue_processes=10**: 作业队列进程数。 - **log_archive_format='%t_%s_%r.arc'**: 日志归档格式。 - **open_cursors=300**: ...
- **增加用户数**:为了确保系统能够顺利运行,需要增加用户数,通常情况下每个运行的恒生系统Windows应用程序会占用一个用户。建议增加至20个用户,这样可以避免因用户数量不足而导致的问题。 - **字符集设置**:...
例如,`MaxKeepAliveRequests`设置每个连接允许的最大请求数,`MaxClients`设定同时处理的最大客户端连接数。 监控Apache运行状态的命令如`ps`用于查看进程,`apachectl status`查看服务器状态,`netstat`用于检查...
UDP(User Datagram Protocol)协议是Internet协议族中的一种无连接的传输层协议,与TCP(Transmission Control Protocol)相比,它提供了更轻量级的服务。在本次实验中,我们通过Ethereal(Wireshark的前身)这个...
4. **数据结构与算法**:游戏状态的存储和检索通常依赖于合适的数据结构,如二维数组表示棋盘,链表或队列管理历史步数。此外,判断棋局胜负可能涉及到深度优先搜索(DFS)、最小最大搜索(Minimax)等算法。 5. **...
这个系统由4人团队开发,实现了单机并发TCP连接数峰值高达118万,内存占用约23GB,平均负载维持在0.7左右,心跳包发送速率4k/s,垃圾回收(GC)时间稳定在2-3.x秒。系统的高并发处理能力和低资源消耗,充分展示了...