Tornado性能探讨,50并发不到?

jiguoguo 2019-07-22 12:17:51
阿里云2核4G服务器,python3.7、tornado5.0 ,Nginx反向代理tornado,单进程部署,裸跑打印一个”hello“,并发50都不到,是什么问题?

python代码



import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world =" )
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
application.listen(9004)
tornado.ioloop.IOLoop.instance().start()



用阿里云的性能测试PTS
CPU占用48%(单进程值消耗一个cpu)
下面是测试结果


大概看了下4918个错误都是503

网上一大堆文章都说能高并发应用。但是实测没有,比较头疼,查了很多资料,无解,
如果用nginx单独测试一个静态页面,50并发,cpu只上升5%,很正常,只要带上tornado就会狂飙cpu。
有哪位大侠有同样的问题,一起探讨。
...全文
434 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SystemLight 2019-12-28
  • 打赏
  • 举报
回复
还有一点你是windows平台还是linux windows下的异步底层不如linux下的epoll底层,性能有折扣
SystemLight 2019-12-28
  • 打赏
  • 举报
回复
你的nginx 反向代理了几个tornado,而且你用的是同步代码,tornado是异步的高并发框架,IO密集型并发性能高,CPU密集型单线程还是会阻塞的
lang071234 2019-08-04
  • 打赏
  • 举报
回复
你并没有使用它的异步代码。需要
async def get(self):
await self.write(“hello”)

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧