阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

初识tornado

199次阅读
没有评论

共计 993 个字符,预计需要花费 3 分钟才能阅读完成。

一、tornado 简介

1、概述

Tornado 是一种 Web 服务器软件的开源版本。Tornado 和主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别 它是非阻塞式服务器,而且速度相当快

得利于其非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架

2、阻塞

阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回

初识 tornado
阻塞等待 :空出大脑可以安心睡觉。(不占用 CPU 宝贵的时间片)

3、非阻塞

非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回

初识 tornado

非阻塞,忙轮询 :浪费时间,浪费电话费,占用快递员时间(占用 CPU,系统资源)

4、epoll

epoll 是 Linux 内核为处理大批量文件描述符而作了改进的 poll,是 Linux 下多路复用 IO 接口 select/poll 的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率

初识 tornado

epoll 特点好处

增加了对 I / O 多路复用的技术
只关心“活跃”的链接,无需遍历全部描述符集合
能够处理大量的链接请求 (系统可以打开的文件数目)

二、Tornado 与 Django 对比

1、Tornado

  • 优点

    轻量、异步非阻塞 IO 处理方式、出色的抗负载能力、协程带来优异的处理性能

  • 缺点

    没有 ORM, 提供的支持和模板少,缺少后台支持,对小型项目来说开发速度没有 django 快

分析:tornado 所谓的“缺点”是由它的设计理念决定的,设计上就决定它是一个小而精的 http 服务器 + 轻量级 web 框架,高并发处理才是它真正擅长的

2、Django

  • 优点

    大而全的框架,全自动化的管理后台带来超高的开发效率,丰富的组件

  • 缺点

    厚重,与他自己的 ORM 高耦合

分析:Django 提供的方便,也意味着 Django 内置的 ORM 跟框架内的其他模块耦合程度高。应用程序必须使用 Django 内置的 ORM,否则就不能享受到框架内提供的种种基于其 ORM 的便利;理论上可以切换掉其 ORM 模块,但这就相当于要把装修完毕的房子拆除重新装修,倒不如一开始就去毛胚房做全新的装修。Django 的卖点是超高的开发效率,其性能扩展有限

三、安装

1、打开终端

初识 tornado

2、过程

  1. 输入命令

    pip install tornado
  2. 图解

初识 tornado

  1. 验证

    >>> import tornado >>> tornado.version '6.0.3'

初识 tornado

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-05-26发表,共计993字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中