PHP 收集服务器统计信息

发布于 2024-11-18 01:18:10 字数 684 浏览 2 评论 0原文

我正在为我的 web 应用程序构建一个自定义组件,它将对每个服务进行基准测试,到目前为止,计划是对常用的东西进行基准测试:

  • 响应时间、
  • 内存、
  • 当前服务器活动

等。

我已经构建了基本的东西,我正在考虑存储linux“top”命令,该命令列出当前正在运行的进程以及已使用的资源量。 虽然,我无法从运行中获得任何响应:

$output = shell_exec('top');
echo "<pre>";
var_dump($output);
echo "</pre>";

但是其他更简单的命令确实可以工作,例如 php 手册中的示例:

$output = shell_exec('ls -lart');

所以我的问题是: - 我需要以 root 身份运行“top”命令吗? (目前它在apache用户下运行) - 或者还有其他 php 命令可以帮助我获取服务器统计信息吗?

我读了这篇文章,但我对安装任何东西都不感兴趣,因为我需要按需统计数据并将它们存储在我的数据库中。 PHP 服务器统计脚本?

I am building a custom component for my webapp that will benchmark each service, so far the plan is to benchmark the usual stuff:

  • Response Time
  • Memory
  • Current server activity

etc.

I have built the basic stuff and i was thinking to store the output of the linux "top" command, which lists the current running processes and the amount of used resources.
Though, i haven't been able to obtain any responde from running:

$output = shell_exec('top');
echo "<pre>";
var_dump($output);
echo "</pre>";

But other simpler commands do work, like the example in the php manual:

$output = shell_exec('ls -lart');

So my questions are:
- Do I need to run the "top" command as root? (currently it runs under apache user)
- Or are there any other php command that could help me get server statistics?

I read this post, but im not really interested in installing anything, as i need my stats on the demand and store them on my DB.
PHP server statistics script?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

简单爱 2024-11-25 01:18:10

您可以 cat /proc 目录中的任何内容,例如 cat /proc/cpuinfo 来获取有关服务器的任何 CPU 信息。 Linux 中的所有内容都可以简化为文件系统,并且您想要查找的任何系统统计信息都可以在 /proc 中找到(几乎所有统计信息)

You could cat anything in the /proc directory like cat /proc/cpuinfo to get any CPU information about the server. Everything in linux can be reduced to the file system and any system statistics that you would ever want to find can be found in /proc (well almost all stats)

夜空下最亮的亮点 2024-11-25 01:18:10

当您的运行达到顶峰时,您会看到程序继续执行,并且不会停止。它也是互动的。

如果你想捕获输出,你需要有一个程序执行然后停止。 top 可能有一个选项可以做到这一点。但大多数信息可以通过其他命令收集。

像这样运行顶部:

top -b -n1

When your run top, you see that the program continues to execute, and does not stop. Its also interactive.

If you want to capture the output, you need to have a program the executes and then stops. There might be an option with top to do that. But most info can be gathered by other commands.

Run top like this:

top -b -n1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文