高频面试题总结
# 不知道从哪找的
# 浏览器禁用 Cookie怎么保存状态
此时无法使用 Cookie 来保存用户信息,只能使用 Session。除此之外,不能再将 Session ID 存放到 Cookie 中,而是使用 URL 重写技术,将 Session ID 作为 URL 的参数进行传递。
# 一台服务器最多支持多少个TCP链接
千万不要以为端口最多65535个就答65535,实际上同一个端口是支持很多tcp连接的。
一条TCP连接如果不发送数据的话,消耗内存是3.3K左右。如果有数据发送,需要为每条TCP分配发送缓存区,大小受你的参数net.ipv4.tcp_wmem配置影响,默认情况下最小是4K。如果发送结束,缓存区消耗的内存会被回收详细的分析过程敬请期待接下来的另一篇文章。
假设你只保持连接不发送数据,那么你服务器可以建立的连接最大数量 = 你的内存/3.3K。 假如是4GB的内存,那么大约可接受的TCP连接数量是100万左右。
总结如下
- TCP连接的客户端机: 每一个ip可建立的TCP连接理论受限于ip_local_port_range参数,也受限于65535。但可以通过配置多ip的方式来加大自己的建立连接的能力。
- TCP连接的服务器机: 每一个监听的端口虽然理论值很大,但这个数字没有实际意义。最大并发数取决你的内存大小,每一条静止状态的TCP连接大约需要吃3 .3K的内存。
一台机器最多能撑多少个TCP连接? 今天掰扯清楚! - 知乎 (zhihu.com) (opens new window)
编辑 (opens new window)
上次更新: 2021/04/01, 17:14:55