项目框架:Django
背景描述:将view.py里画好的k线图通过url.py配置链接,传到前端页面,但首页打开时间在5s以上,需要对时长优化
经过对请求过程的分析,发现其他步骤耗时ms级,只有k线图响应部分耗时较久
响应请求耗时长可能是python绘制k线图的过程较慢,这里对python进行打点输出
如上所示,从开始画图到数据处理阶段耗时2.3s左右,这里需要优化取数和处理过程
从数据处理到画图过程耗时3s,这里需要优化数据计算过程的代码
首先我们优化取数过程,这里主要是连接查询数据库,我在代码里调用了两次连接数据的函数,删除一次后取数时间明显减少。
经过优化从取数到处理完成用了1s,这里还可以进行优化,给字段增加索引,但django本身有models结构,所以,将原本pymysql查询数据库方法改为models查询
经过优化可以看到上图中数据处理阶段所需时间为1.54s
绘制k线图需要其开盘价、收盘价、最高价、最低价数据,计算macd所需的dif和dea参数,这一部分处理过程较长,还是优化代码
,结果!!!!问题来了,看了半天,感觉我的代码很完美,并不需要优化
所以只能找一个笨办法,直接在数据库里建表,把中间计算的数据都存进去,定时更新就可以了
修改完成之后刷新页面只需要0.8s,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)