NMC如何优化NC性能.docx
- 文档编号:827611
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:9
- 大小:127.81KB
NMC如何优化NC性能.docx
《NMC如何优化NC性能.docx》由会员分享,可在线阅读,更多相关《NMC如何优化NC性能.docx(9页珍藏版)》请在冰豆网上搜索。
NMC如何优化NC性能
如何通过NMC来优化NC的性能
1.NMC简介
1.1NMC的产生背景
企业信息化发生了深刻的变革,ERP系统已经成为业运营的平台,IT面临巨大的压力。
大部分情况,对系统的运行状况只能来自于终端客户的反馈,无法主动探知风险,系统为什么慢?
为什么宕机?
系统现在运行的怎么样?
解决问题的成本太高,开发和技术顾问经常连续几天昼夜在客户现场。
系统的维护复杂,比如打补丁,故障恢复..传统的人工方式已经不能满足维护和监控日益增长的海量数据处理和复杂强大的ERP系统的需要了。
要保障规模不断扩大的应用并保障稳定高效,服务器集群和负载均衡是必由之路,开始集群站点在个数位时可以人工进行管理,但当站点变成几十、几百时,靠人工来管理和维护无疑成为灾难,于是自动化、智能型、可视化的主动监控系统-NMC应运而生。
NMC(NetworkManageCenter)是先进的性能监控、性能分析、系统管理平台。
对
于像NC这样的复杂庞大的系统,NMC将变得不可或缺。
在监控方面,NMC融入了先进的性能监控思想,比如分布式监控服务、多层穿透、信息采集和分析分离、事件驱动的快照机制等,监控的对象覆盖了NC性能关注的所有方
面,包括数据库,中间件,客户端等等。
在性能分析方面,NMC具有强大的日志抽取、分析能力,提供了丰富的图表展现功
能,可以对NC、JVM、线程、快照、CPU内存,客户端,在线用户等日志进行抽取和分析,同时预置了大量的分析模型。
在系统管理方面,NMC采用了主动发现主动管理的思想,可以在中间件出现故障时主动管理,从而提高系统可靠性;集成的补丁管理工具可以帮助管理员对补丁进程快速部署和回滚,极大提高集群环境下补丁管理的效率。
1.2NMC的技术架构
图1NMC技术架构
NMC客户端是集成的监控UI,是基于:
插件的UI框架;
客户端通过多种协议与服务中心通信,包括HTTP(s,Email,JMS;
服务中心接到客户端请求后,服务中心管理器通过服务定位器对服务进行定位,将请求
的服务资源路由到相应的监控进程;
监控进程将请求转交给服务管理器,通过服务管理器将请求转交给具体的服务实例处理;
1・3监控服务之间的关系
图2监控服务的关系
NMC一个很重要的优势就是服务之间可以相互穿透,比如进程到线程,再到数据库信息的穿透、客户端到线程信息的穿透。
在多层架构的系统中,这种层与层之间的监控信息的穿透可以帮助你更加系统地,精确地分析问题。
监控服务都会生成日志和产生消息,这些日志和消息可以进一步成为日志分析的数据来源。
1.4NMC的核心特性
1.NM(是集成的性能监控、问题分析、系统管理的平台;
2.NM(提供HTTP、Email、OFFLine等多种连接或者使用模式;
3.NM(支持多个监控域。
每个监控域支持多个服务器、多种类型的监控服务;
4.NMC能够实现从客户端到中间件,数据库的无缝的全面的监控体系;
5.NM(支持中间件层和数据库层信息的相互穿透;
6.NMC支持客户端日志和服务器端日志的相互穿透;
7.NM(提供了强大的中间件进程级的监控和管理功能;
8.NM(提供细粒度的线程监控功能;
9.NM(提供了强大灵活的日志抽取和日志分析功能;
10.NM(提供了一种事件驱动的进行主动监控主动管理的功能;
11.NM(集成了补丁管理的功能;
12.NM(实现了监控服务的安全和监控目标安全的隔离。
13.NMC无论是服务器端还是客户端都采用支持插件的架构,无论是已有的监控服务
还是新开发的监控服务很容易打包成NMC的服务,进而集成到NMC。
2.NMC给NC系统性能提升带来的好处
1.使用NMC可获得对NC系统的高度洞察力。
使用NMC的实时监控可以获得实时掌握NC的运行状态,无论是系统概要的层面还是细粒度的线程层面,都一览无余。
对日志和消息的分析可以评估系统整体运行状态、预测风险。
2.使用NMC可以快速发现,并能迅速定位NC系统运行时的性能问题。
无论通过实时监控还是离线分析,都可以快速发现定位性能问题。
相对于传统的监控工具,NMC可以更加快速地帮助你定位性能问题。
3.NMC可以提高系统可用性。
NMC的进程监控服务提供的主动管理,故障自动回复
的功能可提高系统的可用性。
即,当进程监控服务检测到NC中间件不响应时自动
将其重启,或者将备份的服务器加入到集群,从而实现系统的高可用性。
4.NMC使用简洁高效的工作流。
比如日志录制提供了响应终端用户的服务工作流,补丁管理和进程定时重启提供了补丁维护的工作流。
5.NMC让管理变得简单。
系统管理员可以彻底地从补丁管理和中间件管理中解脱出
来,把精力放到更加重要的事情上去。
3.如果通过NMC工具来优化NC系统的性能
NMC对NC系统的性能优化主要从实时监控,离线分析和集群管理三方面进行的。
1.通过实时监控的各个模块来监控NC系统的各个模块,并针对出现的性能问题进行相关
操作。
通过进程监控关注NC中间件整体运行是否健康。
主要的指标是负载均衡、后台服务线程数、响应时间、JVMheap使用情况,最核心的指标是响应时间。
无论是什么原因,如果中间件是不健康的状态,那么它响应时间一定很慢。
在进程监控中,我们可以通过监控HEAPDUMP,JAVACOREGC的活动,来帮助我们获得更多的信息。
线程监控关注的
是具体的任务,它可以快速定位某个任务或者某几个任务慢的原因!
死锁?
死循环?
线程
堵塞?
SQL执行的过多?
Sql执行的太慢?
查询结果集太大?
它可以让你看到一个任
务的时间分布。
比如中间件上执行时间为90%,数据库时间为5%,网络读写时间为5%。
具体指标为Costtime(执行时间),SQLcosttime(SQL执行时间),readresultsetcosttime(获取结果集时间,和执行时间是完全两个指标,执行时间仅仅是SQL的执行不包括从数据库
获取结果集!
)。
在中间件上的时间就是costtime-SQLcosttime。
还有很重要的一点,通
过结合线程状态和线程堆栈,线程监控对于定位线程死锁、线程堵塞、死循环、连接泄漏等问题非常高效。
将线程联查业务可以定位是那个具体业务操作。
联查操作员可以或者这个操作员的联系方式,进而可以直接和这位操作员进行沟通。
如果定位单个任务的问题,使用线程监控的“单个线程”的功能,这个线程的所有信息都一目了然。
在实时监控的体系里,数据库监控主要的任务是确定SQL慢的原因。
在线程监控中可以知道哪个
SQL慢,但无法确定慢的原因。
SQL慢有很多可能:
执行计划?
锁?
系统资源不足?
….
在数据库监控中,我们需要确定慢的原因,然后确定解决方案。
客户端监控用于定位
NC客户端的问题。
通过从客户端收集到信息,我们可以确定特定的一个NC客户端网络、JVM、CPU10、压缩、缓存等等影响客户端性能的指标是否有问题,如果有问题,我们可以马上采取行动。
CPU内存的监控主要定位操作系统级别的问题,比如需要确定系统资源是否足够,我们就需要监控CPU,内存。
2.使用NMC的离线分析来分析NC的日志和系统信息,迅速跟踪和定位NC出现的问题。
大部分的NC性能问题都可以通过消息中心来定位。
通过分析消息线索和快照就定位大部分性能问题,类似于内存溢出这种问题也可以通过跟踪消息线索快速定位。
对某个特定客户或者特定操作的问题(性能或者错误),强烈建议使用日志录制。
录制日志注意在客户端把日志级别设为DEBUG级别,这样才能有SQL日志抽取是更通用的获取日志的办法。
不同于日志录制,日志抽取要求你可以直接连到NMC服务器。
具体使用时,
建议先抽取mwsummary,这个表是每个远程调用的统计信息。
通过概要的分析大概能定位问题,当需要具体定位的时候,再做二次抽取,抽取的条件可以为关注的远程调用
的Callid,比如:
Callid=”2343243233233-233”。
经常需要结合抽取JVM信息来定位问题。
日志分析能定位问题非常广泛,不仅仅定位常规的错误或者效率问题。
对于解决连接泄漏,内存溢出,线程死循环等一些较复杂的问题同样效率很高。
当然,前提条件是,对系统和日志结构有深刻的理解!
3.使用NMC的集群管理功能解放NC的运维人员
用补丁管理工具来管理补丁可以把管理员彻底地从打补丁中解放出来。
补丁管理结合进
程管理的滚动重启功能可以提高系统可用性,比如,补丁应用后,设置晚上自动重启,
每隔5分钟重启一个中间件。
建议根据职责设置多个管理员,为不同管理员赋予不同的
权限。
比如有的管理员只能打补丁,有的则可以监控数据库。
4.NMC的各个模块详细功能介绍
4.1实时监控
实时监控是常规的监控方法。
问题正在发生,或者你正在客户现场,实时监控可以让你第一时间扑捉到当前系统正在发生什么,问题的定位和解决方案随之而来。
NMC支持实时监控的服务主要的包括:
OverView、进程监控、线程监控、数据库监控、
CPU内存,客户端监控等。
实时监控各模块的详细功能如下:
OverView提供了一个系统概要,可以方便的通过这个看到NC系统的运行概要;它提供一个部署结构样式的全局的系统运行状况视图,包括系统运行状态、每个中间件的JVMheap信
息、线程信息、数据库的活动会话等。
当系统出现异常,会有警告提示。
1.自动刷新设置:
设置视图的自动刷新时间间隔。
单位为秒,默认为5秒刷新一次;
2.点击数据库组件进入数据库监控节点,点击中间件组件进入线程监控节点
进程监控提供了进程级的信息;可以通过进程监控实现对中间件的各种操作和数据库的查询和刷新。
进程监控服务主要实现如下功能:
1.对NC中间件状态检查,包括端口响应的时间和内存使用的情况,比如,当发现NC中
间件不能正常工作,则可以选择对其自动重启或者动态加入一个备份的中间件;
2.将JVMHEAP的使用情况、中间件响应时间、WEBthread及serivcethread信息采样,
将采样信息写入日志,通过日志分析可以对系统进行性能评估和性能诊断;
3.进程监控还可以更新数据库连接池的信息和数据库活动会话的信息;
4.进程监控可以对NC中间件进行管理,比如重启,生成JAVACOREHEAPDUMP,设置定
时重启等。
线程监控提供线程级的信息;线程监控的主要功能如下:
1.通过线程监控可以实时对NC系统的线程信息进行线程级别细粒度的监控,包括线程堆
栈、SQL堆栈、性能信息、业务信息、线程状态,等待事件等等;
2.线程监控能够监控单个线程穿透到数据库的所有信息;
3.线程监控可以终止一个线程;并查询垃圾线程;
4.线程监控可以对单个线程进行独立跟踪;
5.线程监控可以联查业务,联查操作员详细信息等业务功能。
数据库监控提供了对NC系统的数据库的监控,详细功能如下:
1.DatabaseMonitor提供了一组用于数据库健康检查的服务,当发现数据库有性能问题时,发送快照或者报警消息;
2.数据库监控还提供客户端可以调用的数据库操作方法,并预置了监控脚本。
CPU和内存监控提供系统级的信息;
1.NMC可对各种平台的CPU进行监控,定时将CPU的运行状态写入日志,便于日后性能分析;当发现某CPU持续高于某阀值,发送报警消息。
2.NMC同样对各种操作系统的内存的监控,定时将内存的运行状态写入日志,便于日后性能分析;当发现某内存使用率持续高于某阀值,发送报
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NMC 如何 优化 NC 性能