单进程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星
用户评分:
发表评论

评论

  • 暂无评论信息