服务器接入协议中,是否UDP>短连接TCP>长连接TCP

最近在自己的物联网设备端端口服务器(Socket Server)上做了一次压测,代码使用了Twisted+Redis。Twisted号称克服了C10K。设备端使用了长连接方式。测试平台是阿里云单核1GB RAM ECS,但是压测结果距离10K貌似很远。数据暂时保密。

但是服务器负载必须稳定在50%~75%,如果到了85%以上,Twisted会被杀掉。

我也测试了一次短连接方式,但是模拟测试端在Windows 7在500台不到就报10055错误,以至于无法得到实际的压力测试数值。此时CPU负载只有4.5%左右。

我想知道从服务器角度来看,
TCP长连接、TCP短连接、UDP三者间,针对客户端连接数,CPU负载,MEM占比,数据库连接池的压力来说,是否一定是:

TCP长连接 << TCP短连接 << UDP连接

也就是TCP长连接连接数最少,CPU负载最高,MEM占比最高,连接池压力最大?

还是各有千秋?需要做过这方面对比的高手指点一二。

阅读 8.1k
1 个回答

不说业务谈啥架构啊。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进