我有一个非常简单的程序,只用了5分钟就编写了一个打开服务器套接字并循环遍历请求并将发送到它的字节打印到屏幕上的程序。
然后,我试图对它进行基准测试,以尝试找出能够使用此程序支持多少并发用户可以使用多少连接来攻击它。
在另一台机器上(它们之间的网络未饱和),我创建了一个简单的程序,进入循环并连接到服务器机器并发送字节“hello world”。
当循环为1000-3000时,客户端完成所有请求的发送。当循环超过5000时,在完成前X个请求后开始超时。为什么会这样?我已确保在循环中关闭了套接字。
您只能在一定时间内创建这么多连接吗?
这个限制只适用于相同的机器之间吗?在生产中,5000+个请求都来自不同的机器,我是否不必担心这个问题?
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- knutole