简单的Web框架:Web服务

作者: 吃着不想停 | 来源:发表于2020-05-06 13:21 被阅读0次

一、前言

使用Python可以很方便的搭建一个网站,有很多现成的Web框架可以使用例如:DjangoTornadoweb.pyweb2pyFlaskBottle等等。我几年前使用Tornado框架为项目做过一个多人协作的管理平台,后来为了想深入学习就自己写了一个简单的Web框架,并在新项目中投入使用已有1年左右,虽然没有上面提到的那些框架那么强大,但也勉强够用。这次刚好有时间做一个简单的记录。

二、简单Web服务

下图展示了我这次要写的Web框架简单示意图,包含有哪些模块,以及它们的调用层级,模板渲染模块会在后面有空的时候再贴进来。

浏览器向Web服务器发送请求,这个请求使用TCP协议发送到服务器,因此服务器也需要使用TCP协议才能收到请求,创建一个简单的TCP服务器就像下面代码展示的那样。

image

打开浏览器输入http://127.0.0.1就会看到hello信息。当然作为Web服务器处理请求需要有一定的效率,上面的代码如果同时有多个请求时,只能逐个进行响应,如果采用I/O多路复用以及引入线程池的话,效果会更好一点。下面的代码引入了采用I/O多路复用的select模块,以及将接收数据投递到线程池中进行处理。这样做可以较好的提升Web服务器的处理性能。

我用JMeter创建500用户进行并发测试,Throughput大概可以到400/秒,我使用的还是我的10年前的I3双核笔记本进行测试的,开太多用户反而是JMeter太耗了。

相关文章

  • 简单的Web框架:Web服务

    一、前言 使用Python可以很方便的搭建一个网站,有很多现成的Web框架可以使用例如:Django、Tornad...

  • 从零开始搭建论坛(二):Web服务器网关接口

    在 从零开始搭建论坛(一):Web服务器与Web框架 中我们弄清楚了Web 服务器、Web 应用程序、Web框架的...

  • Flask + Gunicorn相应介绍

    WSGI协议 Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求。Web框架和Web服...

  • gunicorn学习介绍

    WSGI协议 Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求。Web框架和Web服...

  • Web框架与Web服务器

    1. Web框架与服务器区别 ​ web服务器:典型Web服务器Apache、Nginx、Tomcat,作用是接...

  • [译]什么是 web 框架?

    本文系转载于网络。 Web 应用框架,或者简单的说是“Web 框架”,其实是建立 web 应用的一种方式。从简单的...

  • [译]什么是 web 框架?

    本文系转载于网络。 Web 应用框架,或者简单的说是“Web 框架”,其实是建立 web 应用的一种方式。从简单的...

  • Tornado初学篇

    Tornado是一款由Python编写的,相对简单的非阻塞式Web服务器。和现在的主流Web服务器框架(包括大多数...

  • Express

    基本介绍 它是web开发框架: web开发它运行在node.js之上,用来提供web服务显示窗口 提供接口服务...

  • WSGI是什么 - 读 PEP 3333之后

    Python 中有许多web框架,为了更好读兼容性,python定义了web框架和web服务器之间读接口,即PEP...

网友评论

    本文标题:简单的Web框架:Web服务

    本文链接:https://www.haomeiwen.com/subject/pgkyghtx.html