51epub.cc性能问题诊断

51epub.cc网站性能问题

网站自内容 ( 7119个 post) 增加越来越多后, 单页面(post) 访问时非常慢, 达到了10秒左右, 今天早上开始已经不能访问单个的post(报超时错误) 。

一、性能问题现象

  1. 我使用的是百度云的服务器(一台应用服务, 一台云数据库), 具体配置如下 :

----------------百度 轻量应用服务------------------------------------------- 配置: 2核/4GB内存/80GB磁盘/6Mbps带宽 云应用服务器: centos8 + openjdk11 + halo1.5.3 + Nginx1.20 域名: 51epub.cc ----------------百度 云数据库实例------------------------------------------- 配置:1核/1GB内存/40GB磁盘 数据库: mysql 5.7

部署结构大致如下:

image-20220719113219453

halo:

​ 主题采用开源: Git 仓库 https://github.com/codelunatic/halo-theme-simple-bootstrap

事件:

​ 1- 每天日常上传MD文章( 目前共有6919 篇)

​ 2- 7月19日; 访问单个post的页面, 报超时错误

504 Gateway Time-out (51epub.cc)

二、分析思路和步骤

  1. 检查halo 日志, 看看是否有什么异常

好像没有什么异常状况啊

  1. 检查nginx日志;

有报错信息:

``` ...... 2022/07/19 10:30:59 [warn] 1928#1928: *1215 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/2/02/0000000022 while reading upstream, client: 123.123.220.114, server: 51epub.cc, request: "GET / HTTP/2.0", upstream: "http://127.0.0.1:8088/", host: "51epub.cc", referrer: "https://51epub.cc/archives/7975.html"

2022/07/19 10:31:10 [error] 1928#1928: *1148 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 112.234.107.146, server: 51epub.cc, request: "GET /archives/7996.html HTTP/2.0", upstream: "http://127.0.0.1:8088/archives/7996.html", host: "51epub.cc", referrer: "https://51epub.cc/categories/book01" ```

初步分析: 我发现很多的访问 伪静态的配置html页面; nginx都会去缓存找一下, 找不到缓存的时候, 再去请求后端程序, 结果出现超时, 应该是缓存及后端应用程序运行出现了超时;


验证思路1:

​ 1-将halo的伪静态的配置去掉. 再重启halo和nginx试试;

​ 验证结果:

​ 不再报超时错误, 可以访问到post了; 首页和分类页面访问速度很快, 但是依然单个的post访问依然很慢 ( 但是比配置了 伪静态的HTML的访问方式要好很多了 )

​ 分析:

与halo的静态后缀名称配置有一定的关系; 但是关联不大; 还是后端halo运行有问题;



验证思路2:

​ 2-直接通过IP地址访问后端halo; (跳过Nginx代理) ; 看看后端是否报错;

​ https://106.13.0.140/archives/7984

​ 此时的效果与上面基本相同:

​ 首页和分类页面访问速度很快, 但是依然单个的post访问依然很慢


上面两种思路验证时, 监控应用服务器单机的性能情况都还是良好;

image-20220719112039571

​ 验证时检查了halo的日志; 发现没有变化;

image-20220719112338526

​ 从浏览器中发现 单个post访问的时间竟然达到38.92s

image-20220719113615942


作者: CLP ; 日期: 2022-9-3 ; 地点: 武汉; 天气: 晴

QQ: 53258372; Mail : 53258372@QQ.com

微信: image-20220903114619121