实时读数

服务器状态

本站由 OxPHP 自己提供服务。下面是响应你这次请求的那台机器此刻的读数。这里不保存任何数据:图表从你打开页面的那一刻开始绘制。

OxPHP 0.14.0 · PHP 8.5 · worker mode · 2 个工作进程 · 1 vCPU / 512 MB

GET /state/stream?step=1 text/event-stream
数据流尚未打开

自上次部署以来

这些计数器由服务器自己维护,从它启动时开始计数。每次部署都是一次重启,所以计数从部署时开始。

运行时间 1 小时 45 分钟 部署于 2026年10月25日 19:43 UTC · 部署后未重启过 btime · oxphp_uptime_seconds
已处理请求 115 包括静态文件和 .md 副本 oxphp_requests_total
工作进程回收 0 未因 128 MB 内存上限回收,也未因错误回收 oxphp_worker_recycles_total
5xx 响应 0 占全部响应的 0% oxphp_responses_by_status_total

此刻

内存刻度是绝对的:从零到整台机器的全部内存,不会重新缩放。请求数和响应时间按各自的峰值缩放。

步长
内存整个容器 274.4 MB
−60 秒现在
整个容器的内存 · 取自 /proc/meminfo 的 MemTotal − MemAvailable
请求每秒 —
−60 秒现在
每个步长内 oxphp_requests_total 的增量
响应时间ms — p50 · — p95
−60 秒p50p95
每个步长内,根据 oxphp_request_duration_us 直方图的分桶估算

工作进程

每个工作进程在请求之间保持应用处于已加载状态。如果它的 PHP 内存超过 128 MB,服务器会换上一个新的工作进程,这一行也会重新开始计数。

工作进程
PHP 内存
已运行
已处理
当前
#0
6.9 MB
1 小时 44 分钟
34
空闲
#1
6.3 MB
1 小时 44 分钟
33
请求:1

oxphp_worker_memory_bytes · oxphp_worker_uptime_seconds · oxphp_worker_requests_count · oxphp_worker_request_fibers_active

“当前”一列是近似值,因为读数和本页面占用的数据流计数不是在同一步中取得的。

数字从哪里来

计数器和直方图来自 OxPHP 的内置内部服务器,也就是你在自己机器上能拿到的同一个 /metrics 端点。内存数据来自 Linux 内核。服务器运行在拥有独立内核的 gVisor 沙箱中,所以图表显示的是整个容器的内存,取自 /proc/meminfo。内存和响应时间也包含本页面自身的开销。这里没有 CPU 图表。在 gVisor 中,进程只能看到平台所统计 CPU 时间的一小部分(生产环境中为 0.8% 对 4.3%),而无法核实的数字不该出现在这里。

部署时间是容器启动的时刻,读取自 /proc/stat 中的 btime。在 DigitalOcean 上,这意味着一次部署或一次迁移到另一台机器,迁移同样会重置它。目前尚未确认,平台是在同一个容器里重启崩溃的服务器(此时本页面会显示服务器重启过),还是在新容器里重启(此时崩溃看起来就像一次部署)。只有数字会离开这台机器。配置、路径和地址都留在机器上。数据流就是普通的 SSE,和本页面一样由 PHP 工作进程提供;在等待下一个步长时,这个工作进程照常为其他所有人服务。