サーバーの状態
このサイトは OxPHP 自身が配信しています。以下は、今回のリクエストに応答したマシンの、いまこの時点の計測値です。何も保存されません。グラフはページを開いた瞬間から描かれ始めます。
前回のデプロイ以降
これらのカウンターは、サーバーが起動した時点から自身で記録しています。デプロイのたびに再起動するため、カウントはデプロイの時点から始まります。
現在
メモリの目盛りは絶対値です。ゼロからマシンの全メモリまでの範囲で表示し、スケールは変わりません。リクエストとレスポンスタイムは、それぞれのピークに合わせてスケールします。
ワーカー
各ワーカーは、リクエストの合間もアプリケーションを読み込んだまま保持します。PHP メモリが 128 MB を超えると、サーバーはそのワーカーを新しいものに置き換え、その行のカウントは最初からやり直しになります。
worker mode がオフのため、どのワーカーも 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 ワーカーが配信しています。次のステップを待っている間、そのワーカーはほかのすべてのリクエストに応答します。