Add 2016-monitor

This commit is contained in:
zhuyj17 2016-06-08 01:09:13 +08:00
parent 10dfefe5bd
commit 243d180ab6
4 changed files with 82 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<title>Pull Request Documentation</title>
<meta charset="utf-8">
<style>
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
</style>
</head>
<body>
<!--
<textarea id="source">
</textarea>
-->
<script src="../js/remark.min.js"> </script>
<script>
var slideshow = remark.create({
sourceUrl: 'source.md'
});
</script>
<!--
<script type="text/javascript" src="http://cdn.bootcss.com/mermaid/0.5.8/mermaid.min.js"></script>
<link rel="stylesheet" href="http://cdn.bootcss.com/mermaid/0.5.8/mermaid.min.css">
<script>mermaid.initialize({startOnLoad:true});</script>
-->
</body>
</html>

View File

@ -0,0 +1,50 @@
class: center, middle
# Monitor功能的优化
信科13级 朱域坚
---
# 主要完成的工作
1. 容器和物理机磁盘使用信息的监控
2. 性能优化以rpc机制代替原来的etcd传递信息
3. 容器真实运行时间的统计
---
# 磁盘使用信息的监控
- 利用python模块psutil的`disk_usage`函数收集信息。
- 该函数可以收集所有挂载的磁盘使用信息,由于容器使用时会分一个单独的磁盘挂载到它的根目录,因此可以收集到。
---
# 用rpc机制代替原来的etcd
## etcd存在的问题
- 读写效率太低etcd每秒大约只能进行千次的读写若每个容器每秒需要写一次那最多只能支持千个容器同时存在这是远远不够的。
- 消耗资源过多etcd的读写是通过http协议进行的效率比较低经测试单个worker每秒写个位数的容器信息也要占用1%以上的CPU
---
# 原来的设计
![](images/monitor.jpg)
---
# rpc机制的设计
![](images/newmonitor.jpg)
- 现有的worker负载cpu使用率降到0.5以下
---
# 真实运行时间的统计
- 根据容器的pid, 利用ps命令收集容器运行的时间只是进程运行时间容器重启后进程会变
- 因此真实时间还要加上lasttime初始时为0
- 若收集过程中pid与之前不同说明容器重启了则把之前的时间放到lasttime里