zoukankan      html  css  js  c++  java
  • Tornado初始一

    tornado框架

    1. Python的三大web框架
    - django,大而全框架。
    - flask,轻量级框架(可扩展强)。
    - tornado,异步非阻塞框架。
    2. tornado特点:
    - 自带socket,可以不用wsgi。(如果用了其他wsgi那么异步非阻塞的功能就没有了)
    - 原生支持 websocket 协议
    - 组件支持的少:
    - 支持:路由、视图、模板渲染、cookie
    - 不支持:无session、orm、form、admin.....
    3. 行业现状
    - 瞎用:
    - 真用:生成器+装饰器+Future对象
    - 使用tornado框架不要使用pymasql去连接数据库,不然体现不出tornado 异步非阻塞的特性,它有特殊的模块去连接数据库

    4. 异步非阻塞适用场景:
    - 如果服务端做的计算操作耗时导致 并发能力低,tornado无能为力。
    - 如果服务端自己接收到请求后,但是要向别的应用发送(网络请求)IO请求,这种情况下 导致并发能力低,用tornado能实现性能提升。

      其实这种性能的提升看似是tornado实现了多个并发操作,其实不是这样,根本原因是当多个IO请求到来时,tornado先获取到那个IO请求,就把请求发送到别的应用服务器,当下一个IO请求到来时,不用阻塞等待,它也立刻把请求发送到那个应用服务器,这样就感觉tornado在同一时间处理多个并发请求,效率就大大提升!比如3个IO请求到来,如果每一个 IO请求解析需要2秒钟,如果在2秒钟内能把请求都拿到,并且发送给了别的应用服务器,该应用服务器在2秒内完成解析,立即返回给tornado,这样整个操作就能提高效率,而Django和flask就需要一个一个IO的等待,6秒钟的时间处理操作。(单线程)
  • 相关阅读:
    深入单机事务
    事务的本质
    云计算是什么?
    linux命令之tail
    linux命令之rpm
    String、StringBuffer与StringBuilder区别
    自定义今天的520
    logback中MDC使用
    数组(转载)
    spring获取webapplicationcontext,applicationcontext几种方法详解(转载)
  • 原文地址:https://www.cnblogs.com/DJRemix/p/10044335.html
Copyright © 2011-2022 走看看