1
我们正在对Tornado进行一些性能测试。这是代码龙卷风在OSX上失败,但在Ubuntu上工作
import tornado.websocket
import tornado.ioloop
import tornado.web
class TestTornado(tornado.websocket.WebSocketHandler):
def open(self):
self.set_nodelay(True)
pass
def on_message(self, message):
self.write_message(message)
self.close()
def on_close(self):
pass
def main():
applicationList = []
applicationList.append((r"/ws", TestTornado))
application = tornado.web.Application(applicationList)
application.listen(8888)
myIOLoopInstance = tornado.ioloop.IOLoop.instance()
myIOLoopInstance.start()
if __name__ == "__main__":
main()
,我们正与thor --amount 10000 --messages 100 ws://localhost:8888/ws
然而测试,在OS X,它是经过7000个连接或多或少总是失败,但在Ubuntu没有错误可言。注意我正在谈论连接,而不是关于文件,所以这个问题与OS X可以处理的最大打开文件无关(它已经设置为1000000)。
那么......为什么会发生这种情况呢?是否有任何配置可以在OS X上更改以使其正常工作?
这可能在http://serverfault.com属于代替 –
你说 “没有” - 不龙卷风抛出一个异常?你能特别告诉我们症状是什么吗? –
@ A.JesseJiryuDavis只需在连接7000个连接时停止处理连接。一段时间后,压力测试结束并显示所有人都“失败” – yzT