我用Twisted Socket Server作为物联网连接前端。今天使用了一个多线程的Python脚本做压力测试。测试环境为Vbox+Ubuntu 32bit+1GB RAM。和阿里云1GB1核配置类似。
这个“多线程”脚本不间断地向服务器写入,Twisted Server并没有垮掉。但是我加上5组单独的长连接设备模拟脚本后,大约五分钟后,所有测试脚本均得到的10054(超时)或者10055(buffer ran out)错误。
其中10054我很好理解,可能服务器线程堵塞,导致超时。10055错误我一开始以为是服务器返回错误,但是仔细研究好像是测试脚本的socket.error,是客户端处出现buffer不足。
不过Twisted依然在运行,重新连接后,蛮健壮的。
其实,真正核心问题在于,虽然测试出来它会出现掉线问题。但是如何增加配置,这些配置可以支持多少长连接哪里可以计算、统计出来呢?
认证0级讲师