Andru Asked:2020-12-21 20:18:19 +0000 UTC2020-12-21 20:18:19 +0000 UTC 2020-12-21 20:18:19 +0000 UTC 服务器最多可以同时容纳多少个连接? 772 在文章https://habrahabr.ru/post/50028/中,据说有服务器能够容纳 1,000,000 个用户。如果只有 2 ^ 16 个端口,这怎么可能? сеть 2 个回答 Voted Best Answer zed 2020-04-08T15:21:28Z2020-04-08T15:21:28Z 该连接的特点是以下 5 件式结构: IP клиента, Порт клиента, IP сервера, Порт сервера, Протокол 例如: 10.0.0.1:1234 192.168.0.1:80 TCP 10.0.0.1:1235 192.168.0.1:80 TCP 10.0.0.1:1236 192.168.0.1:80 TCP ... 10.0.0.2:1234 192.168.0.1:80 TCP 10.0.0.2:1235 192.168.0.1:80 TCP 10.0.0.2:1236 192.168.0.1:80 TCP ... 最后 3 个元素具有固定值,但前 2 个元素的变化和组合可以给出巨大的值。多达 64k 客户端可以从一个 IP 连接,从另一个 IP 连接相同的号码,依此类推。因此,理论上的最大连接数可以等于число клиентских IP адресов * число портов на клиенте (64k)。 从实际的角度来看,服务器资源(RAM、CPU、I/O)是有限的,并且根据服务器的实现,它只能处理一些第 N 个并发连接,这比理论上的要少IP*64k。 服务器的编写效率越高(即,它使用有限的铁资源的效率越高),它能够保持的连接就越多。最低效的实现为每个传入连接创建一个进程,更高效的实现使用一个进程并为每个连接创建一个线程,而更高效的实现则设法通过固定数量的进程和线程来执行异步请求处理。 Klimenko Kirill 2020-12-21T20:27:11Z2020-12-21T20:27:11Z 端口与同时连接的数量无关。端口只是请求/连接进入的地方。究竟什么会处理这个端口上的请求已经很重要了。而且它没有谈论服务器,而是谈论一种函数式编程语言Erlang,您可以在其中编写一个最大限度地利用机器资源的项目,这反过来又可以放弃多达一百万个同时连接。 所以,你的问题的答案是它根本不是关于端口的。
该连接的特点是以下 5 件式结构:
例如:
最后 3 个元素具有固定值,但前 2 个元素的变化和组合可以给出巨大的值。多达 64k 客户端可以从一个 IP 连接,从另一个 IP 连接相同的号码,依此类推。因此,理论上的最大连接数可以等于
число клиентских IP адресов * число портов на клиенте (64k)。从实际的角度来看,服务器资源(RAM、CPU、I/O)是有限的,并且根据服务器的实现,它只能处理一些第 N 个并发连接,这比理论上的要少
IP*64k。服务器的编写效率越高(即,它使用有限的铁资源的效率越高),它能够保持的连接就越多。最低效的实现为每个传入连接创建一个进程,更高效的实现使用一个进程并为每个连接创建一个线程,而更高效的实现则设法通过固定数量的进程和线程来执行异步请求处理。
端口与同时连接的数量无关。端口只是请求/连接进入的地方。
究竟什么会处理这个端口上的请求已经很重要了。而且它没有谈论服务器,而是谈论一种函数式编程语言
Erlang,您可以在其中编写一个最大限度地利用机器资源的项目,这反过来又可以放弃多达一百万个同时连接。所以,你的问题的答案是它根本不是关于端口的。