排查过程案例!-树叶云linux教程-php网站打开访问慢 (排查过程案例分析)

教程大全 2025-07-14 09:00:24 浏览

问题描述:

客户反馈昨天网站访问还是正常的,今天访问特别慢,环境源码什么都没动过 请求需要1分钟

拿到机器资料后检查负载一切正常,查看客户使用的是宝塔linux面板,lnmp环境,可以通过slow log追踪到问题点

我们先来配置slow log,执行:vi /www/server/php/70/etc/php-fpm.conf #添加图两行

说明:slowlog定义日志路径和名字,request_slowlog_timeout定义超时时间,单位秒,即一个php脚本执行时间超过了该时间,则会记录日志。

添加完成后重启php-fpm,需重启后生效 接受重新访问网站即会生成相关日志 如下:

[19-Mar-2020 08:15:46] [pool www] pid 31184script_filename = /www/wwwroot/IDC.NET/public/index.php[0x00007fc46f0151f0] file_get_contents() /www/wwwroot/IDC.NET/extend/hook/AccessAuth.php(75) : eval()’d code:3[0x00007fc46f015070] [INCLUDE_OR_EVAL]() /www/wwwroot/IDC.NET/extend/hook/AccessAuth.php:75[0x00007fc46f014ff0] auth() /www/wwwroot/IDC.NET/extend/hook/AccessAuth.php:43[0x00007fc46f014b00] run() /www/wwwroot/IDC.NET/framework/library/think/Hook.php:137[0x00007fc46f0146c0] exec() /www/wwwroot/IDC.NET/framework/library/think/Hook.php:95[0x00007fc46f0144f0] listen() /www/wwwroot/IDC.NET/framework/library/think/App.php:596[0x00007fc46f013c70] module() /www/wwwroot/IDC.NET/framework/library/think/App.php:456[0x00007fc46f013940] exec() /www/wwwroot/IDC.NET/framework/library/think/App.php:139[0x00007fc46f013240] run() /www/wwwroot/IDC.NET/framework/start.php:19[0x00007fc46f0131b0] [INCLUDE_OR_EVAL]() /www/wwwroot/IDC.NET/public/index.php:21

slow log,不仅记录哪一个文件慢,而且也可以记录具体哪一行的什么函数,从上面的日志看到都是程序层上的原因导致,未涉及数据库查询,看到file_get_contents()心中暗喜

file_get_contents()一般都是请求外部链接异常导致整体网站请求慢,为证实这一点找到AccessAuth.php文件75行 如下图:

查看php代码经过base64加密需要解密后方可以看到源码,如下:

排查过程案例分析

try { if (cache(‘auth_domain’) !== 1) { $c = file_get_contents(“{$_SERVER[‘HTTP_HOST’]}&vsign=联动发卡|lovecode/zidongfaka|12|weixiaobao|20190224170352”); $res = json_decode($c, true); if ($res == false || $res[‘status’] == -1) { //exit(isset($res[‘info’]) ? $res[‘info’] : ‘未知错误 403-1’); } cache(‘auth_domain’, 1, 3600); } } catch (\Exception $e) { //exit(isset($res[‘info’]) ? $res[‘info’] : ‘未知错误 403-2’); }

多地请求xxxxxxxx.cn网站异常,ping不通 那么问题很可能就出现在这 尝试注释上述代码再次访问响应恢复正常

希望你参考该教程能帮助你更快找到问题所在并解决

本教程由IDC.NET树叶云创出品 服务器 运维官方网址欢迎大家多多关注本站 感谢大家的支持。


如何在linux服务器后台运行某个进程?在Xshell里需要输入什么指令?

运行命令后面加 & 是后台运行,但启动它的父进程如果退出,这个 & 方式运行的依然会退出。 我的建议是用screen 。 这样会启动一个 shell “屏幕”可以随时断开后再另外一个地方重新恢复。 另外还一个方法是用 fg bg nohup 这一套命令也可以。 不过具体怎么用我没研究,但控制不如 screen 方便。 其实你这个最好的办法还是写到服务器的开机运行命令行里面,方便很多啊。 另外……占用 ssh 有什么大问题么……

Zend Optimizer - 3.3.0 是什么软件

Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。 实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。 一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。 这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。 更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。 所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。 Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。 快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间

godaddy linux如何开启allow_url_fopen?

把你的主机根目录下的里的allow_url_fopen = off 改成allow_url_fopen = on 刚换了liunx的 表示这个可行

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐