由nginx出现504 Gateway Time-out发现Sql语句运行太慢

来源:互联网 发布:人脸p图软件 编辑:程序博客网 时间:2024/05/22 11:56
最近项目在测试环境没有发现问题,上线以后发现nginx 出现504 Gateway Time-out,
看了一下网络连接,前端请求Waiting有10.38秒,但是还是没有数据,看了一下nginx的配置文件
发现 fastcgi_read_timeout 10; 设置的是10s,这里设置的是前端FastCGI服务器的相应超时时间
我改成15秒就可以有数据了,这当然不是解决问题的方案
我去看了一下程序,一点点分析,看调试工具Network里面的时间,发现有一条sql语句竟然运行占用了6s左右的时间
中间的子查询和连接查询,看了一下,连接查询的一张表中有30w数据,这应该是查询比较慢的原因
最后通过把这条sql语句查询出的数据放入到中间表中,然后读取中间表,查询中间表的时间不到0.05秒
通过这个我也明白了重视sql优化和相关知识,速度最快的是加索引,索引的内部实现是B树,下面就要开始学习B树是怎么实现的了
原创粉丝点击