# 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，根据实际情况调整为你的服务端口。

# links
  * [目录](../README.md)
  * 上一节: [常见问题](../chapter-6/6.0-常见问题.md)
  * 下一节: 完结