嗯,很久很久没有特别在社区活跃。因为近一年来主要在做alinode的相关工作。终于在2015年9月29日发布了测试版本。
尽管当前还比较粗糙,但还是要分享一些alinode的功能给大家。下面的截图来自于你们天天逛的这个论坛CNode。
功能1: 实时Node进程 上图可以看到cnodejs运行在集群模式下,通过pm2启动。
功能2: 进程存活时间线 上图可以看到有5个进程的存活时间。时间周期是24小时。这些进程均非常健康,并没有进程退出。
功能3: 堆数据图
上图3个数据值分别是堆上限值,已申请堆大小,已使用堆大小。这些数据相比并不陌生。 提示:如果heap_total和heap_used超过heap_limit,那么恭喜你,内存泄漏了。
功能4:堆空间数据图
堆空间指的是V8将整个堆划分为多个空间,以采用更适合的GC算法。该图可以详细的看到究竟对象存在于哪个空间。
功能5: GC占比图
alinode可以很详细的监控到每分钟在GC中花费的时间。低于5%的都不是事。
功能5: 其他数据
都是很底层的数据。一般的APM厂商没法获取到部分值。
功能6:堆内存周期图
图中是单个node进程的内存数据周期图,包含RSS、堆、各个空间的使用趋势。可以看到rss,heap_total保持很平稳,说明并无内存泄漏的产生。另外图中呈现很强烈的锯齿,不要惊慌,那是GC在工作。
功能7: GC图
每个GC的值其实都对应堆内存图里的一个锯齿。不同是上图是空间大小的变化,此图是时间的变化。
功能8: http趋势图
上图中的值是每分钟处理的http请求数。不要问我们为什么不需要改代码就能统计到这个值,因为它是alinode。
上图的数据可以看出cnode的访问量并不算太高。按4个进程算,峰值也就360 * 4 / 60 = 24qps。
系统级的数据表现: 上文的数据大部分是进程级的,当然也有系统级的数据:
数据就不详细解释了。