Django——django请求生命周期及web服务器并发量

0 近几年python中的几个web框架,sanic,fastapi(异步框架)

1 python中的web服务器都符合wsgi协议

2 web服务器,任何语言都会有一个web服务器,负责把http请求转成这门语言的变量
  -python:wsgiref(性能很低),uwsgi(C语言写的),200多并发量
  -java:tomcat,jboss(300多并发量)
  -php:php服务器

ps:每次请求都是一个新的请求 (这是http请求的缺点,所以之后有会话保持,Cookie session Token等技术)

 

 通俗点描述:

用户在浏览器发请求,经过web服务器
中间件,经过路由之后开始匹配视图函数。
视图函数从数据库拿数据,从模板里拿模板,然后把数据渲染到模板里,最后生成一个渲染好的html页面返回给浏览器,用户从浏览器就看到样子了

详细:
客户端输入的是域名,要转成ip地址,所以有dns解析的过程(dns解析里面又有从哪个本地的host还是去计算机里配的那个比如阿里云里面去解析,再往上找,找到根),
之后就直接定位到本地的ip地址,之后会朝ip地址和端口号发送get请求(这里指如果从浏览器发的话),
之后会进入web服务器==》把http拆成字典==》调起可调用对象(django,flask,tornodo)==》中间件==》路由匹配(会循环匹配)
==》执行视图函数(数据库拿数据,模板文件拿模板,渲染)==》生成html页面(这个html页面是已经渲染完了,而js实在客户端完成的)==》返回

ps:

QPS 代表每秒并发量

不要觉得30并发少,这个量是普通公司正常的量
同步框架 并发量300最多 一个接口能破万已经很好了,1万并发需要50台左右机器 2万并发需要80台左右服务器 粗略计算用户量: 用户量
=日活*100*100
原文地址:https://www.cnblogs.com/guojieying/p/13744676.html