本项目采用 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库的序列化对比
因此,我选择了其中最快的尝试了一下。果然 速度显著提升。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。