记一次织梦程序访问缓慢问题排查

简介: 近期接到几个关于织梦程序访问缓慢的case,有首页缓慢的也有后台生成首页缓慢的。本文记录一下关于这个case排查的过程。

现象

后台点击更新主页HTML后要等待1.5分钟才有结果,对于我这个全新安装没有任何数据的站点这个时间确实无法接受
image

开始排查

  • 这个case中我这个环境是php5.4+apache,使用的是php-fpm,如果使用的是cgi方式,后面步骤就根据cgi进程去追踪。
  • 因为不了解代码和其中逻辑没法直接排查代码,所以使用了进程追踪工具strace,这个有兴趣可以找找文档深入了解一下,建议找个测试环境来调试,避免过多访问不太好区分。
  • 如果fpm进程较多可以将strace信息记录到文件慢慢分析ps -ef|grep php-fpm|awk '{print " -p " $2" -s 10000 -o /tmp/strace_"$2".log"}'|xargs strace ,我这里是测试环境且为了方便追踪进程调整了fpm进程最小和最大都为1,以下是我调整的fpm参数:

    pm.start_servers = 1
    pm.min_spare_servers = 1
    pm.max_spare_servers = 1
  • 开始追踪,页面点击一下"更新主页HTML"按钮,主机内执行ps -ef|grep php-fpm|awk '{print " -p " $2" -s 10000"}'|xargs strace得到信息如下且可以看到如下这个IP被多次循环多次请求了
    image
  • 打算代码目录中全局搜索203.156.197.15 这个IP,但遗憾的是并没有找到这个IP
    image
  • 根据经验,那么有可能这个IP是被写入到数据库或是代码中用域名填写了,于是将数据库导出为sql同样用grep查找,还是未能找到;于是想到在主机内抓包,如果填写的是域名,那么会向dns发起解析请求,抓包命令我使用的是tcpdump -i any udp
    image
  • 可以看到排除一些阿里云官方的地址和ptr解析,得到的只有ssp.desdev.cn这个域名了,再次搜索这个域名,终于找到了include/helpers/mda.helper.php 中是有这段代码的,看起来是织梦官方的一个API地址,测试访问该地址的80端口确实无法访问了。尝试将其通过hosts指向到127.0.0.1后网站操作恢复正常
    image
目录
相关文章
|
11月前
|
机器学习/深度学习 人工智能 监控
AutoTrain:Hugging Face 开源的无代码模型训练平台
AutoTrain 是 Hugging Face 推出的开源无代码模型训练平台,旨在简化最先进模型的训练过程。用户无需编写代码,只需上传数据即可创建、微调和部署自己的 AI 模型。AutoTrain 支持多种机器学习任务,并提供自动化最佳实践,包括超参数调整、模型验证和分布式训练。
912 4
AutoTrain:Hugging Face 开源的无代码模型训练平台
|
存储 中间件 数据库连接
|
6月前
|
人工智能 自然语言处理 Cloud Native
【攻略】Bolt.diy 云端部署与应用实战:快速生成你的创意助手
随着AI应用从实验室走向大众,构建低门槛、高效率的AI助手平台成为开发者关注焦点。阿里云推出的Bolt.diy解决方案,开源灵活且部署快捷,支持函数计算FC与百炼大模型服务集成,大幅降低全栈AI应用开发难度。本文分享了实际部署Bolt.diy的全过程,并通过创建个人AI项目助理演示其强大功能。无论是生成项目计划、技术文档,还是搭建工具页面,Bolt.diy都能助力开发者快速实现创意,提升效率。文章还探讨了使用中的小问题及优化建议,适合对AI开发感兴趣的读者体验尝试。
153 10
|
缓存 Java Linux
java操作hbase报错:KeeperErrorCode=NoNode for /hbase-unsecure/master
java操作hbase报错:KeeperErrorCode=NoNode for /hbase-unsecure/master
700 2
|
存储 关系型数据库 MySQL
MySQL高级篇——覆盖索引、前缀索引、索引下推、SQL优化、主键设计
覆盖索引、前缀索引、索引下推、SQL优化、EXISTS 和 IN 的区分、建议COUNT(*)或COUNT(1)、建议SELECT(字段)而不是SELECT(*)、LIMIT 1 对优化的影响、多使用COMMIT、主键设计、自增主键的缺点、淘宝订单号的主键设计、MySQL 8.0改造UUID为有序
MySQL高级篇——覆盖索引、前缀索引、索引下推、SQL优化、主键设计
|
12月前
|
XML Java 数据格式
Spring底层架构源码解析(二)
Spring底层架构源码解析(二)
203 4
|
存储 算法 C语言
【C 言专栏】用 C 语言开发游戏的实践
【5月更文挑战第5天】本文探讨了使用C语言开发游戏的实践,包括选择适合的游戏类型(如贪吃蛇、俄罗斯方块),设计游戏框架、图形界面和逻辑,以及音效添加。文章还强调了性能优化、测试调试、跨平台挑战及未来发展趋势。对于热衷于C语言的开发者,这是一次挑战与乐趣并存的探索之旅。
426 0
【C 言专栏】用 C 语言开发游戏的实践
|
监控 安全 Ubuntu
在Linux中,如何进行SSH服务配置?
在Linux中,如何进行SSH服务配置?
|
存储 SQL 关系型数据库
mysql删除 所有数据
mysql删除 所有数据
|
安全 数据安全/隐私保护 智能硬件