单进程tornado qps只有728?tornado对同一页面的多次请求会创建多个相同的RequestHandler对象
时间:2018-01-30 02:50:02
浏览:次
点击:次
作者:
来源:
立即下载
环境是centos ⑥.⑤ · Python③.⑤.① · ②.⑦.①⓪ · 使用pylot在本机测试,不用怀疑pylot的能力,我在多台机器上同时运行过pylot,结果如标题,请问是有什么梗我没注意的吗?我看网上评价加上业务的动不动就几千qps,我加上业务以及异步处理大概是⑥⑤⓪左右。
代码就是tornado官网的最简单例子:
import tornado.ioloopnimport tornado.webnnclass MainHandler(tornado.web.RequestHandler):ndef get(self):nself.write("Hello, world")nndef make_app():nreturn tornado.web.Application([n (r"/sid
我虽然没有使用Tornado,但是对您的压测结果觉得很正常。我虽然没有测qps,我关心的是连接数,我在单核处理器中用Twisted结果不让人满意,尤其是CPU占比比较高。
我看了①些建议:
首先,使用pypy加速,据说连接数可以到node.js的两倍。pypy加速的限制是SSL。
其次,采用高配服务器配置ngnix,做负载均衡。
第③,在ngnix之后,配置多台多核服务器。
第④,不要在单台服务器上支持太多客户端,因为单点故障后处理也很冲击很大。
抱歉,回答的有些不切题,关于qps可能还要考虑和数据库连接是否存在瓶颈。
就性能来说,我觉得您先断开数据库,用pypy加速试试看。
或者,推荐使用Golang?实际上我就准备将我自己的物联网设计改为Go+Python的混合方式。设备连接采用Golang,Web许多构件还是采用成熟的Python Web。然后逐步过渡到全部Golang。
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息