服务器状态
本站由 OxPHP 自己提供服务。下面是响应你这次请求的那台机器此刻的读数。这里不保存任何数据:图表从你打开页面的那一刻开始绘制。
自上次部署以来
这些计数器由服务器自己维护,从它启动时开始计数。每次部署都是一次重启,所以计数从部署时开始。
此刻
内存刻度是绝对的:从零到整台机器的全部内存,不会重新缩放。请求数和响应时间按各自的峰值缩放。
工作进程
每个工作进程在请求之间保持应用处于已加载状态。如果它的 PHP 内存超过 128 MB,服务器会换上一个新的工作进程,这一行也会重新开始计数。
Worker mode 已关闭,工作进程只存活一个请求的时间,所以没有表格可显示。
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 工作进程提供;在等待下一个步长时,这个工作进程照常为其他所有人服务。