Tomcat能创建的最大TCP连接数

TCP 最大连接数

讨论:一个进程支持打开多大数目的socket描述符

linux网络编程:select poll epoll

select 所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是1024。

poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态, 但是它没有最大连接数的限制,原因是它是基于链表来存储的。但是效率上来讲和select相同,都是O(n)的时间复杂度。

epoll的存在: epoll则没有最大连接数的限制,它所支持的FD上限是最大可以打开文件的数目,这个数字一般远大于2048,举个例子,在1GB内存的机器上大约是10万左右,具体数目可以cat /proc/sys/fs/file-max查看,一般来说这个数目和系统内存关系很大。

Socket与HTTP与WebSocket的关系

Http、Socket、WebSocket之间联系与区别

HTTP与Socket的联系与区别

http是应用层协议,在tcp之上,Socket是对TCP/IP协议的封装,并不是协议,而是一个调用接口(API),是对tcp,udp协议的使用。

HTTP是短连接,一般很快使用后就断掉。

Socket是长连接,只要网络不断程序不结束可以一直连接。

一般web服务器通过Socket来建立tcp连接,然后解析http request。

1.服务端建立serverSocket
2.在浏览器中访问:http://localhost:8081/request_get
3.服务端等待socket连接
4.服务端输出socket内容:GET /request_get HTTP/1.1

GET /request_get HTTP/1.1
Host: localhost:8081
Connection: keep-alive
Cache-Control: max-age=0
DNT: 1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

Socket 与 WebSocket之间的联系与区别

Tomcat能创建的最大TCP连接数

Tomcat如何处理一个请求

Tomcat如何处理一个请求

Tomcat最大TCP连接数

tomcat 的最大连接数和tcp连接也就是请求没有关系,和Tomcat能处理的数量有关,每一个连接(HTTP请求)需要处理,就需要开一个线程处理(线程池),这就与服务器资源(内存,CPU等)有关。

c10k问题?

聊聊C10K问题及解决方案

协程