文档章节

转--端口数和最大连接数的关系

yjnic
 yjnic
发布于 2016/04/11 21:50
字数 664
阅读 54
收藏 0
点赞 1
评论 0

初学编程的人可能会有这样的误解:单个服务器程序可承受最大连接数“理论”上是“65535”。
这种说法是错误的,请注意,这里有两个词分别被我标记上了引号,一个是“理论”,一个是“65535”。强调“理论”这个词,是想特别明确误解者的意思:就是说,这个值是不可能被打破的,是铁板钉丁的。而65535这个数字的由来,很多人想当然地将它与port最大值联系起来。的确,TCP的端口数,最大值确实为65535。但是,这并不代表一个服务器可以接受的连接数就是这个值,很多人之所以把这两个概念搞混淆是因为对socket和port没有更深的认识和理解。我们先来回想一下服务器服务的先后过程:服务器创建监听socket- >与对外服务的端口号绑定->开始listen->客户端连接到服务器对应的port->服务器accept为新的客户端产生新的socket->基于这个新的socket与客户端交换数据。从以上流程来看,最大值为65535的“端口号”这个重要的东东,我们只用了一次,就是执行bind的时候!而以后创建的socket,说白了就是一个可以进行网络IO操作的HANDLE而已,它跟端口号的牵扯仅限bind以及作为客户端连接服务器的识别端口号的时候,一旦accept产生了socket,这个端口号,对服务器和新客户端的通信而言就不再有任何意义。而服务器可承载的连接数最大量,不就是能产生多少个客户端的socket吗?这个socket值即使与端口号无关,又何来65535的“理论”上限?我再一次地将“理论”二字用引号括起,是因为在有的操作系统中,默认的配置会将socket最大值设定为65535,但这个值是可以改的!端口号仅仅是门牌地址,不能因为鸟巢体育场能容纳10万名观众就搞10万个门牌号码吧,那电话簿要多厚啊!
所以说最大连接数是受linux最大可打开文件文件数限制的,当然,因为最大可打开文件数可以通过修改系统配置文件更改,所以最终最大连接数的限制来自于系统的资源限制。

本文转载自:http://mp.weixin.qq.com/s?__biz=MzAxMzc4Mzk1Mw==&mid=402323876&idx=5&sn=0959cff74b2ceb56aa95ba950...

共有 人打赏支持
yjnic
粉丝 0
博文 9
码字总数 4333
作品 0
程序员
nginx 并发数问题思考:worker_connections,worker_processes与

原文http://liuqunying.blog.51cto.com/3984207/1420556 我相信,很多人都跟我一样,看书都不会太细致也不太认真思考,感觉书中讲的东西都应该是对的,最近读书时我发现以前认为理所当然的东...

应念
2015/08/07
0
1
如何优化tomcat配置(从内存、并发、缓存4个方面)优化

Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法。   ** 一.Tomcat内存优化 **   Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.s...

holy2009
2017/07/18
0
0
思科交换机端口安全

交换机端口安全 1.本实验是将switch中的f0/1的端口做成安全端口,构建mac地址绑定,只让pc0能够进入这个单口,pc1不能进入 2.在f0/1上进行配置,先进入端口 1>Switch(config)#int f0/1 Switch(c...

余二五
2017/11/16
0
0
常用的服务器上Tomcat配置

JVM 1.1. 使用 Server JRE 替代JDK。 服务器上不要安装JDK,请使用 Server JRE. 服务器上根本不需要编译器,代码应该在Release服务器上完成编译打包工作。 理由:一旦服务器被控制,可以防止...

别寒
2014/08/26
0
0
Tomcat常用的配置

一、改JVM内存 进入tomcat的bin目录,打开catalina.bat,修改 在echo Using CATALINABASE: "%CATALINABASE%"的上面一行加下面代码 set JAVAOPTS="-server -Xms256m -Xmx512m -XX:PermSize=6......

hc24
2015/10/15
143
0
Windows Socket 最大连接数

原文:Windows Socket 最大连接数 Socket 编程时,单机最多可以建立多少个 TCP 连接,受到操作系统的影响。 Windows 下单机的TCP连接数受多个参数影响: 最大TCP连接数 [HKEY_LOCAL_MACHINE ...

杰克.陈
2017/12/06
0
0
Windows 下单机最大TCP连接数

在做Socket 编程时,我们经常会要问,单机最多可以建树几许个 TCP 连接,本文将介绍如何调剂体系参数来调剂单机的最大TCP连接数。 Windows 下单机的TCP连接数有多个参数共同决意,下面一一介...

Mr&Cheng
2013/01/20
0
0
对haproxy配置学习过程中几个点进行总结

作者:hncscwc http://my.oschina.net/hncscwc/blog/199152 1. maxconn设置 大家都知道haproxy启动时可以通过命令行参数-n, -N设置连接数,在配置文件也可以在global段,default段,listen段...

enjoyer18
2014/03/28
0
0
查看并发请求数及其TCP连接状态

服务器上的一些统计数据: 1)统计80端口连接数 netstat -nat|grep -i "80"|wc -l 2)统计httpd协议连接数 ps -ef|grep httpd|wc -l 3)、统计已连接上的,状态为“established netstat -na|g...

陈好
2014/10/30
0
0
Tomcat 安全配置与性能优化

Tomcat 安全配置与性能优化 版权 © 2011, 2012, 2013, 2014 http://netkiller.github.io $Date: 2013-08-05 17:41:22 +0800 (Mon, 05 Aug 2013) $ 目录 1. JVM 2. Tomcat 优化 3. Tomcat 安......

neo-chen
2014/05/20
608
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
8分钟前
0
0
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
20分钟前
0
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
25分钟前
0
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
40分钟前
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
47分钟前
0
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
55分钟前
0
0
开发技术瓶颈期,如何突破

前言 读书、学习的那些事情,以前我也陆续叨叨了不少,但总觉得 “学习方法” 就是一个永远在路上的话题。个人的能力、经验积累与习惯方法不尽相同,而且一篇文章甚至一本书都很难将学习方法...

_小迷糊
56分钟前
0
0
安装tensorflow-XXX报错

报错: tensorflow-0.5.0-cp27-none-linux_x86_64.whl is not a supported wheel on this platform. 解决: wget https://bootstrap.pypa.io/get-pip.py sudo python2.7 get-pip.py sudo p......

Yao--靠自己
58分钟前
0
0
JVM学习手册(一):JVM模型

一直从事JAVA开发,天天和JVM打交道,仔细想想对JVM还真的不是特别了解,实在是不应该.周六看了许多资料,也算有点心得,记录一下。 JVM内存模型分为5个区域:方法区,堆,虚拟机栈,本地方法栈,程序计...

勤奋的蚂蚁
今天
0
0
转行零基础该如何学Python?这些一定要明白!

转行零基础学Python编程开发难度大吗?从哪学起?近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大?今天,小编就来为大家详细解读一下这个问题。...

猫咪编程
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部