首页 > Web开发 > 详细

单接口速度优化(flask web)

时间:2020-06-23 09:50:03      阅读:78      评论:0      收藏:0      [点我收藏+]

本项目采用 flask + mongodb

以下为速度慢的实例

network上的查看 TTFB 请求时间过长

技术分享图片

 

POSTMAN 中 查看同样是8秒多  

因此 我们要找找问题在哪

解决方法

首先查明是TTFB时间过长,是后端服务器导致的接口速度过慢。

单个接口单次访问速度过慢原因列举(这里我们锁定3点):

1.无可避免首先要检查数据库的查询速度

技术分享图片

 

 这是数据库查询的速度   是0.028s 。 很显然并不是数据库查询导致的原因。

 

2.整体的代码逻辑是否过于复杂导致速度很慢 (很轻易就能排除)

3.这也是我最终发现的(不同的json序列化会导致时间长短不一致)

这里是最重要的一点, 因为本项目采取的是MongoDB数据库。 因而它本身是bson数据格式。

而python的第三方模块中 有bson包中的 json_utils 能够帮助序列化。 因此一开始选择了它。

但是当我查看速时居然发现是json序列化的时候导致时间过慢

技术分享图片

 

 1.65S左右。

 

json序列化与反序列化速度对比(按总时间排序:测试数据100 * 10000
 
ujson           序列化: 2.084    反序列化: 1.157      总时间: 3.241
yajl            序列化: 1.910    反序列化: 1.970      总时间: 3.880
cjson           序列化: 3.305    反序列化: 1.328      总时间: 4.632
simplejson      序列化: 10.279   反序列化: 4.658      总时间: 14.937
stdlib json     序列化: 7.013    反序列化: 8.594      总时间: 15.607

 

 

上面是python中 5个json库的序列化对比

因此,我选择了其中最快的尝试了一下。果然 速度显著提升。 

 

 

来源: https://www.cnblogs.com/s686zhou/p/12911515.html

单接口速度优化(flask web)

原文:https://www.cnblogs.com/zhukaijian/p/13180246.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!