# 7 附錄
## 監控
服務器運行狀態信息,框架內置Monitor控制器,如下方式訪問:
```
[worker@newdev ~]$ curl http://127.0.0.1:8000/Monitor | jq .
{
"worker": { // worker進程信息
"worker0": { // 編號為0worker的進程
"pid": 1092, // 進程 ID
"coroutine": { // 當前正在執行的協程信息
"total": 0 // 正在執行的協程總數
},
"memory": { // 當進程的內存使用信息
"peak": "0.999M", // 內存峰值M單位
"usage": "0.951M", // 當前使用內存M單位
"peak_byte": 1047504, // 內存峰值B單位
"usage_byte": 996920 // 當前使用內存B單位
},
"request": { // 當前進程處理的請求信息
"worker_request_count": 3 // 當前進程處理的請求總數
},
"object_pool": { // 對象池
"PG\\MSF\\Controllers\\Monitor": 0, // 當前內存\PG\MSF\Controllers\Monitor對象總數
"PG\\MSF\\Helpers\\Context": 0,
"PG\\MSF\\Base\\Input": 0,
"PG\\MSF\\Base\\Output": 0
},
"dns_cache_http": { // DNS緩存
"127.0.0.1": [
"127.0.0.1",
1504774150,
1
],
"www.baidu.com": [
"14.215.177.38",
1504774202,
1
]
},
"exit": 0 // 進程異常退出次數
}
},
"tcp": {
"start_time": 1504753470, // 服務啟動時間
"connection_num": 0, // 當前連接總數
"accept_count": 3, // 已接受連接總數
"close_count": 3, // 已關閉連接總數
"tasking_num": 0, // 當前正在排隊的task數量
"request_count": 3 // 已處理請求總數
},
"running": {
"qps": 0, // 當前QPS
"last_qpm": 1, // 上一分鐘處理請求數
"qpm": 0, // 當前分鐘處理請求數
"concurrency": 0 // 當前并發數
},
"sys_cache": { // 共享內存信息
"memory_size": 1241513984,
"slots_memory_size": 167772160,
"values_memory_size": 1073741824,
"segment_size": 4194304,
"segment_num": 256,
"miss": 6607,
"hits": 9108,
"fails": 0,
"kicks": 0,
"recycles": 0,
"slots_size": 1048576,
"slots_used": 4
}
}
```
其中端口8000,根據實際情況調整為你的服務端口。
- 0 文檔說明
- 1 為什么研發新框架
- 1.1 傳統php-fpm工作模式的問題
- 1.2 壓測數據對比
- 1.3 小結
- 2 微服務框架研發概覽
- 2.1 通信框架技術選型
- 2.2 swoole
- 2.3 協程原理
- 2.4 異步、并發
- 2.5 小結
- 3 框架運行環境
- 3.1 環境變量
- 3.2 運行代碼
- 3.3 docker
- 3.4 小結
- 4 框架結構
- 4.1 結構概述
- 4.2 控制器
- 4.3 模型
- 4.4 視圖
- 4.5 同步任務
- 4.6 配置
- 4.7 路由
- 4.8 小結
- 5 框架組件
- 5.1 協程
- 5.2 類的加載
- 5.3 異步Http Client
- 5.4 請求上下文
- 5.5 連接池
- 5.6 對象池
- 5.7 RPC
- 5.8 公共庫
- 5.9 RESTful
- 5.10 多語言
- 5.11 雜項
- 5.12 小結
- 6 常見問題
- 7 附錄