搜索
首页系统教程LINUX记录一次用strace诊断php占用系统资源过高的问题

记录一次用strace诊断php占用系统资源过高的问题

May 03, 2024 pm 04:31 PM
linuxphp7nginxaccesslinux教程红帽linux系统linux命令linux认证红帽linuxlinux视频

本地环境:redhat6.7系统。 nginx1.12.1 ,php7.1.0, 代码使用yii2框架

问题:本地的web站需要用到elasticsearch服务。当php使用本地服务器搭建的elasticsearch时,本地的负载都是正常。 当我使用aws 的elasticsearch service服务时,本地服务器出现负载经常过高的情况。查看nginx 和php日志,发现没有异常。系统的并发连接数也不高。这时候想到我们老大给我讲的一个strace诊断工具。

调试过程:

  • 查找一个php的子进程id
  • strace -cp pid 跟踪进程的调用

系统当时的负载:

记录一次用strace诊断php占用系统资源过高的问题

strace 调试过程

记录一次用strace诊断php占用系统资源过高的问题

这边就发现php调用elasticsearch的时候,会去本地找一个文件,这个文件是不存在的。从而导致服务器负载偏高。通过对比aws elasticsearch 和本地es 集群的区别。发现只有调用的方法不一样。代码里面是用https的方法调用的,所以他会去本地找这个证书库文件。我立即联系开发,把调用方式改成http之后,观察一段时间,服务器负载恢复正常了。

strace -T -e access -p 1379

记录一次用strace诊断php占用系统资源过高的问题

以上是记录一次用strace诊断php占用系统资源过高的问题的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:Linux就该这么学。如有侵权,请联系admin@php.cn删除
如何管理FireWalld和UFW以进行Linux安全如何管理FireWalld和UFW以进行Linux安全May 12, 2025 am 10:56 AM

Linux系统依靠防火墙来保护未经授权的网络访问。 这些软件障碍控制网络流量,允许基于预定义的规则来阻止数据包。 他们主要在网络层操作,他们管理

如何检查Linux系统是台式机还是笔记本电脑如何检查Linux系统是台式机还是笔记本电脑May 12, 2025 am 10:48 AM

确定Linux系统是台式机还是笔记本电脑对于系统优化至关重要。本指南概述了简单的命令以识别您的系统类型。 hostnamectl命令:此命令提供了一种检查系统机箱的简洁方法

如何增加Linux中的TCP/IP连接如何增加Linux中的TCP/IP连接May 12, 2025 am 10:23 AM

Linux服务器TCP/IP连接数限制调整指南 Linux系统常用于服务器和网络应用,管理员经常会遇到TCP/IP连接数达到上限的问题,导致用户连接错误。本文将指导您如何提升Linux系统中的最大TCP/IP连接数。 TCP/IP连接数理解 TCP/IP (传输控制协议/互联网协议)是互联网的基本通信协议。每个TCP连接都需要系统资源。当活动连接过多时,系统可能会拒绝新的连接或速度变慢。 通过增加允许的最大连接数,可以提高服务器性能并处理更多并发用户。 检查当前Linux连接数限制 在更改设置之

如何将SVG转换为Linux终端中的PNG如何将SVG转换为Linux终端中的PNGMay 12, 2025 am 10:21 AM

SVG(可扩展的矢量图形)文件是徽标和插图的理想选择,因为它们的可重复性而没有质量损失。 但是,PNG(便携式网络图形)格式通常可以更好地与网站和应用程序兼容。本指南d

如何使用LiveCode创建自己的Android和iOS应用程序如何使用LiveCode创建自己的Android和iOS应用程序May 12, 2025 am 10:10 AM

Livecode:跨平台发展革命 LiveCode是一种编程语言,于1993年首次亮相,简化了每个人的应用程序开发。 它的高级,类似英语的语法和动态键入使得可以轻松地创建强大的应用程序

如何从Linux终端重置USB设备如何从Linux终端重置USB设备May 12, 2025 am 10:07 AM

本指南提供了一个分步过程,用于通过Linux命令行重置故障USB设备。 使用这些命令简化了对无响应或断开USB驱动器的故障排除。 步骤1:识别您的USB设备 首先,我

如何在Linux上设置临时静态IP地址如何在Linux上设置临时静态IP地址May 12, 2025 am 10:06 AM

在Linux上暂时设置静态IP地址对于网络故障排除或特定的会话配置是无价的。 本指南详细介绍了如何使用命令行工具来实现此目的,并指出更改并非跨重启

51个鲜为人知的Linux命令用于电源用户51个鲜为人知的Linux命令用于电源用户May 12, 2025 am 09:51 AM

Linux以其强大的命令行工具集而闻名,这些工具允许用户高效地与系统交互。虽然许多Linux用户熟悉诸如ls、cd或grep之类的常用命令,但还有一些鲜为人知但极其有用的命令和快捷方式可以简化并提高生产力。 我们很高兴分享我们关于“鲜为人知的Linux命令”的最新五篇文章,其中包含50多个你可能不知道的命令。 您可能也喜欢: 11个鲜为人知的实用Linux命令——第一部分 10个鲜为人知的Linux命令——第二部分 10个鲜为人知的Linux命令——第三部分 10个鲜为人知的有效Linux命令

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具