小陆同学

python 中文名:蟒蛇,设计者:Guido van Rossum

导航

flask--接口响应慢的问题

flask程序接口响应慢,测试了一下,一个简单的接口,响应时间在毫秒级--15s之间,简直像个杀手一样。这个接口主要实现的作用就是通过某个唯一字段去获取值,类似于select * from user where name='zhangsan'这个复杂度,数据量在不到5000的样子,照理不应该出现这么慢的问题,于是排查了程序本身。

1、程序本身运行着2个相对较重的定时任务,怀疑是在执行定时任务的同时加载接口,资源争抢导致--慢

   但执行定时任务的框架是异步的,且通过测试,在非定时任务期间,也有“慢”的问题

2、接口请求的是域名,有可能是网络问题导致

  于是在运行程序的docker容器里,通过127.0.0.1的接口地址,响应时间也在毫秒级--15s之间。

  requests.get(url).elapsed.total_seconds()
  requests请求时长

3、有可能是数据库存在慢sql

  经dba查询,该用户下不存在2s以上的慢sql

最终解决:

4、于是,在容器里写了个简单的获取数据的脚本,发现请求的时间都耗费在了连接数据库上,约15s,执行sql的速度在ms级。

  百度之后,网友说数据库连接的host域名问题,于是改成了IP,简直不要太爽,嗖嗖的~

posted on 2022-05-27 19:22  小陆同学  阅读(1767)  评论(0编辑  收藏  举报