FastApi项目实战 - 爱投票管理系统

一、闲来无事,在工作之余自己研究了一下python的异步框架 - fastapi,并写包括 

  1、部门管理

  2、角色管理

  3、用户管理

  4、菜单管理

  5、登录日志

  6、操作日志

  7、添加反爬机制

七个基础功能模块

由于我的电脑问题,下载的vue依赖包有几个发生了版本冲突,打包部署后偶尔会在点击菜单按钮时发生前端延时(这时表现为缓慢冲击进度条)。

如果此前已经 F12 的话会发现根本没有发请求,所以出现该情况的话直接 ctrl + F5 就可以了

二、fastapi介绍

  1、fastapi官网:https://fastapi.tiangolo.com, 中文官网:https://fastapi.tiangolo.com/zh/

  2、性能方面:号称可与 NodeJS 和、Go 比肩,是python最快的web框架之一

  3、入门门槛低,简单方便

  4、天生为前后端分离的项目打造

  5、自动生成 Swagger接口文档,不用额外的再去为前端书写接口文档

  ......

 

三、项目介绍:

  ps:fastapi在使用上的语法、注意事项在本项目系列文章中不会多加说明,有需要的小伙伴们可以自己到官网去查询

  本项目使用包括:

  1、python3.7.8

  2、mysql8.0 + sqlalchemy

  3、redis4.0.6

  4、fastapi

  5、celery

  6、pycharm + Navicat

  7、uvicorn(Windows) 、 uvicorn +  gunicorn (Linux)

四、简单压测:

  部署到云服务器后,使用postman进行了简单的压测

  1、云服务器信息:

  

  2、启动的woker数:

    使用 gunicorn 启动了4个worker

  3、压测工具:

    postman

  4、测试接口(此时已将反爬机制关闭了):

    获取部门列表接口: https://127.0.0.1:8000/api/system/dept/get-dept-list

  5、共进行3次测试,测试频率(迭代次数)分别为:

    iterations:500

    iterations:1000

    iterations:10000

  6、延迟时间:

    delay:0ms

  7、测试结果:

    postman的Run Result中 FAILCE为0,返回结果全为200

    在进行压测的同时用浏览器访问系统,访问正常

  8、目前测试的最值是10000,但是10000却不是其峰值,所以有兴趣的小伙伴可以自己部署后测出峰值后在评论区发表一下

 

 

五、项目基础代码下载地址:

    后端下载地址:https://download.csdn.net/download/hgy717/13060031

    前端下载地址:https://download.csdn.net/download/hgy717/13133325

 

posted @ 2020-10-26 11:40  吾延  阅读(6322)  评论(0编辑  收藏  举报