博文详情访问速度过慢,为何?

发布于:2023/02/15 作者:沈大力 浏览量:999+ 评论:0

标签: 网站相关



最近对网站做了很多的细节上的改进,本来网站越做越完善还挺开心,但今天有位朋友跟我反应说我网站博文详情访问速度过慢,让我优化一下。我有点懵,之前好像一直没遇到过类似的问题,况且我网站的访问量也不大,怎么会出这个问题?而且似乎只有博文详情页存在该问题,其他页面都是正常的,这是咋回事?

我首先自己测试了一下,随机选择几个博文点击访问,发现的确存在访问缓慢的情况——在点击博文链接2-3s后,浏览器才正式进入到博文详情页。接着我按f12打开Chrome的性能分析工具,分析后发现点击链接后的响应时间长达3s多!

而其他页面也就几十ms就完成了(最多100多ms)。

针对该问题,我首先想到的是两个潜在的方案:1. 设置缓存;2. 使用nginx的gzip方案加快传输速度。结果这俩都设置完成后仍然没有任何效果。经过1天多的各种查资料,我今天中午吃饭的时候突然想到,如果是nginx设置出问题的话,那绝对不应该只是博文详情页访问过慢,因为在nginx中我并没有对博文详情页以及相关的css,js,图像等资源做任何特殊处理,那就说明如果nginx的设置出了问题的话,其他很多页面都会受到影响。那现在这种情况肯定是针对博文详情页的某些特殊设置出了问题。检查了django的view.py配置,终于发现了一个潜在的问题:跟其他页面相比,我在博文详情中引入了geoip2,这是一个用于解析目标ip的python库。当初我写博文详情页时想记录每篇博文的访问者的情况,就加了这个设置。之前一直都挺正常,没有明显的拖慢访问速度。但不知道为何这阵子突然变得卡了起来。我没有去看geoip2的底层代码(不知道他会不会联网查询),我推测造成该问题的可能原因是我写的查询逻辑有问题+数据库数据积累越来越多。于是经过一段简单分析,我把所有涉及ip记录和查询的功能全部移除了,重启服务器,终于就正常了!

所以如果以后还遇到类似的情况(某个模块访问过慢但其他模块正常),那首先就得去仔细检查该模块相关的运行逻辑和相关设置,问题大概率就出在那里。

-END-


发布评论:

登录后方可评论,点击登录注册


评论列表:

暂无评论。


苏公网安备 32050602011302号
苏ICP备2020062135号-1
Copyright© Li Shen. All rights reserved.