本文是“如何管理应用性能”系列文章的第二篇,在本系列文章中,笔者把应用性能管理(APM)从原理到部署实施的全周期干货拿出来与大家进行分享,觉得值得一读的话请关注公众号,后续将持续更新!
→→→点击这里阅读第一篇
客户体验
传统的IT,都是在以资源管理的角度去评估应用的性能,着眼点往往只局限在IT系统的后端,比如主机资源层面或数据库层面,这往往不能反映事物的全貌,一个典型的问题就是:在”端到端”的几个环节中,”机房外”的那些部分,比如WAN,客户端PC,传统IT手段就无法准确评价,所以传统IT视角看到的应用性能,往往和最终用户体验到的应用性能不完全一样。
APM(应用性能管理)理论强调:衡量一个应用性能的最重要指标是客户对应用性能的体验。毕竟应用好不好用,够不够快,是最终用户说了算,后端的性能监控指标再好,如果最终用户不满意,也是白搭。
所以,如果从客户体验的角度去看,应该收集所有”端到端”的性能信息,尽量完整地准确地测量“客户体验”,以此为评估应用性能的标准。
从另一个方面讲,传统IT视角在进行应用优化时,往往从纯技术角度出发,例如: 从技术角度判读一个SQL是否应该优化,看看是不是有全表扫描啦,看看是不是没用对索引啦,但是,有可能这个SQL就是一个不重要的岗位的人发出的,本来就是一个异步操作,用户也没指望很快得到结果,辛苦优化了半天,是将SQL执行时间降了很多,但是那个最终用户可能根本不care,甚至所有其他重要岗位的人都不会去用这个功能,最后导致优化了半天,最终用户觉得“没啥感觉“。
如果从客户体验的角度去看,那么我们可能会选择对大部分最终用户都有影响的SQL,可能是一个大部分人每天都要用的功能发出的一个SQL,即使SQL优化的效果没那么夸张,但是对于大部分最终用户,他们能清晰地感知这个变化,优化的成绩也就出来了。
所以,不管是评估性能还是优化性能,都应该以客户体验为导向。
当然,从传统IT的角度,客户体验这个东西,存在很难收集和很难量化的问题,而Oracle RUEI,正是来解决这些问题的。
RUEI的基本原理
RUEI的基本原理图是这样的:
RUEI截取网络流量,从中分析应用请求时间戳,服务器响应时间戳,浏览器确认时间戳等信息,根据一定的算法,计算出应用页面的真实load时间,而且能够清晰地区分出浏览器时间、网路时间、服务器时间(服务器时间的细分要靠JVMD,后面的章节再细说)。
同时,也可以从这些流量包中得到客户端IP,OS信息,浏览器信息,URL信息等,可以帮助对最终用户进行区分,方便后续做有诊断性的优化。
RUEI的安装配置
产品架构
端口镜像
上图是端口镜像的原理图,TAP设备当然也可以,篇幅有限,就不一一列举了。
部署模式
RUEI不是可以采用单节点部署或多节点部署,单节点就是收集器,处理引擎和报表服务器安装在一起。而多节点部署就是在流量比较大时,为了提高处理能力,将这3个主要部件,分布在不同的机器上,从而提高处理能力的一种部署方式。篇幅有限,我们这里只是给出单节点部署的方式:
看了这个图,大家都会明白,RUEI后台要一个数据库的,那肯定是Oracle数据库了。
安装要求
以下是RUEI 13c的要求(以前版本的要求请查联机文档):
OS:RedHat Enterprise Linux 或 Oracle Enterprise Linux 5.x or 6.x
内存:16G以上
硬盘:700G以上
Oracle数据库软件:Oracle 12c
安装过程
RUEI简单说就是一个c++编写的linux应用+一个php编写的BI应用+一个存放在Oracle数据库中的资料库。
安装过程比较简单,按照联机文档做就ok了,RUEI的联机文档是我见过的Oracle软件中最好的,基本上,将联机文档的命令copy/paste就能完成安装了。
RUEI初始配置
设置管理员口令
RUEI安装后,需要管理员admin设置初始口令,然后才能登陆:
#su - moniforce
$set-admin-password
登陆并初始配置
RUEI的登陆URL:
https://<hostname>/ruei
登陆后,会出现初始配置页面:
填写邮件地址,邮件地址后面可以改,所以可以随便写,其他的不用改。
配置进程完成后页面:
点击完成,再次登陆系统就可以开始使用RUEI了。
查看收集器情况
菜单:System->Status,点击“Collectors Status”,可以查看收集器的状态:
查看收集器能识别的网卡的流量情况
查看TCP包分析情况,理想状态,4个指标都应该趋近0
查看收集器性能情况:资源占用(线程使用数),内存使用数,CPU使用数等信息。如果收集器高峰期负载接近100%,需要调高收集器线程数。
配置收集器的协议端口
RUEI缺省收集80(http)和443(https)的http包,如果应用使用的http端口是其他值,需要手工增加监听的端口:
菜单:Configuration->Sercurity->Protocols
点击相应的协议,增加端口
修改这个配置后,系统会自动重起收集器
配置网络过滤器
一般情况下,不需要设置网络过滤器,在下列情况下,可能需要设置过滤器:
网络流量过大,可以使用服务器地址进行过滤,只收集到指定地址服务器的流量:
网络流量过大,可以修改流量为1/2,1/3,甚至1/16,缺省是All traffic
网络使用了VLAN或者有VLAN和非VLAN的混合流量
菜单:Configuration->Network filter,点击相应的链接进行修改。
配置应用
只有配置了应用,RUEI才能根据配置识别应用页面,才能处理并存储我们感兴趣的客户体验数据。
菜单:Configuration->Applications,点击“new application”创建新应用。根据提示输入名称,Domain,端口,URL等信息,创建应用的URL过滤器。系统会根据过滤器识别页面。
下一屏,页面命名规则,推荐使用URL full方式。
完成应用创建后,系统将应用配置信息同步到收集器上,并自动重起收集器,使配置生效。等待一定时间后,10分钟以上,在application overview页面,能看到已经被RUEI识别的应用页面个数。
另外,应用可以使用多个URL过滤器进行定义,在创建应用后,可以在applicaiton overview页面增加URL过滤器。
配置面板
用户可以创建多个面板,将常用的数据浏览数据或图表放置在面板上,方便查看。系统提供了缺省的面板模板,名称是default,点击这个模板可以创建面板。
待续...
原创文章,版权归本文作者所有,如需转载或合作,请务必联系我们
欢迎咨询海天起点技术专家
免费热线:800-810-3650 400-810-3650
喜欢本文请长按下方的二维码订阅海天起点