J2EE Web服务客户端质量报告(五) - 编程入门网
LDR5010: All ejb(s) of [EJBModule_TestMDB] loaded successfully!
这个 EJB组件可放在一个单独的模块内因为我们在其他的服务中配置它的机率比事务服务应用中的配置机率还大一些。 运行样品实现 至此,我们已经配置了次数报告所需的所有基础设施,我们可以看一些客户端相应次数的报告。再次执行XactClientApp ;这一次,应用服务控制台输出窗口内将出现下列信息: INFO: CORE3282: stdout: Took:2613 MS. for: 1 submit,check,gets INFO: CORE3282: stdout: Took:431 MS. for: 1 submit,check,gets INFO: CORE3282: stdout: Took:4307 MS. for: 1 submit,check,gets INFO: CORE3282: stdout: Took:871 MS. for: 1 submit,check,gets 每一次次数读取器EJB组件都收到一个客户端报告,它将报告解码到ClientReport 上并报告clientElapsedMS 字段。在本例中,IDE和应用服务器都在 Compaq公司的 Presario 膝上型电脑上运行,所以报告的响应次数当然不是典型的应用服务次数。 注意,当客户端执行五个事务时,实际上只有四个报告。客户端应用会话期的最后一个事务不报告因为对于整个报告来说没有后续的事务可运载报告。 此次实现基本上是一个取样。它收集了大多数事务——当然足够测量服务的质量——但是不是全部。要纠正它我们得对客户端应用做一些调整。提高Payload软件包可持续会话期间的次数报告,但是这仍然不能保证所有事务都报告。因为我们在次数收集失败时仍然允许事务继续,这是一个很重要的目标,整个系统必须总是一个事务取样器,而不是彻底的记录器。 改进和后续工作 这个实现可在几个方面得到改进,从而为企业提供更多的便利。 你可以扩展ClientReport类,这样客户端就可以报告更多关于事务的信息。当分析服务器上的响应次数时,我们知道的关于事务的信息越多,分析就会越好。辨别出哪种事务要占用很长时间,这很重要。由于服务器瓶颈问题,占用很长时间的事务与生俱来的就要复杂一些。减小服务器瓶颈的压力是原则性的目标。改进ClientReport最好的方法是添加 (attribute,value)字符串排列,该排列允许客户端报告事务的二进制特征。 次数收集结构也有助于企业服务管理的其它方面。当服务器在域中有上千个或者上万个客户端的话,保证服务器软件升级后仍与现有的客户端库兼容,这很重要。但是哪种软件版本是客户端运行的呢?这常常难以确定,但是如果ClientReport 类可以使用客户端软件版本域扩展,也可使用客户端操作系统版本扩展,简单的次数数据库查询就会提供该信息。 你可以改进Payload软件包来报告客户端软件错误。客户端异常处理可保存产生失败的上下文的细节,这样当应用程序重启时Payload软件包可以上传该信息。这突出了主要潜在问题的一个方面:警报。 次数读取器EJB组件在收到客户端软件错误报告时,就可以开始它的商业工作流程处理。它可以产生一个SNMP (简单网络管理协议)陷阱或者发送email,允许客户服务人员启动一个调用到擅长解决问题的用户那里去。 接收精确的客户端响应次数 在本文中,我展示了如何将事务响应次数记录层压到现有的J2EE服务应用上。该方法可用于测量客户端应用方面的精确的响应次数。这个实现是轻便的。客户端和服务器之间不需要新的网络通信。次数有效载荷为低优先级的登记列队等待,所以预订服务器资源来处理应用程序。(全文完) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |