互联网服务资源流量

【支持crazysand兄弟】Cognos 10流控功能

Cognos的流量控制是基于用户体验的,它不是保护系统资源的直接手段,而是保证用户体验的手段,可以通过设置报表请求可以在队列中的最大等待时间来避免用户的过长时间等待,方法是在Administration中的Dispatcher & Services属性中设置:

1.jpg



默认是240s,通常情况下允许在线请求在队列中等待240s显然太长了,如果系统压力太大的情况下,使用默认设置可能出现如下情况:


当Cognos系统在超载情况(远远大于系统的处理能力)下运行,经过一段时间后,系统单位时间内能够处理的事务数(TPS)很快下降到零,此时通过后台观察Cognos服务器,发现运行Cognos的服务器负载也随之下降,说明系统出现拥塞,因此虽然系统资源空闲,但是无法继续处理事务,显然,我们一般不希望系统在负载过重的时候出现绝对不能处理事务的情况,比较理想的情况应该是合理的拒绝一部分请求,而保证部分请求能够继续运行,通过缩短”Query time limit of the report  service(seconds)“从默认的240s调整为5秒,同等压力情况下观察系统的运行情况如下:


当适当缩短队列的最大允许等待时间后,系统系统在高负载的情况下能够持续提供服务,但同时存在大量超时拒绝的情况,达到预期效果。
讨论:
1、”Query time limit of the report  service(seconds)“的设置项仅存在于启动了report  service的服务上,而在仅启动了Content Manager Service或者仅启动Dispatcher Service的服务器上没有这个设置项,说明报表服务队列的管理是由Report Service管理的,而不是集群范围内的全局队列。
2、在默认的队列等待时间下,高负载时出现事务无法成功而服务器资源暂用不足的情况,最可能的情况是由于服务队列管理方面出现了问题,而导致报表服务器无法接到任务,否则在高负载的情况下不应该出现服务器资源空闲的情况。
3、当队列的最大等待时间为5s时,高负载的情况下系统资源利用不足,而TPS也未能达到系统可能的最大值,说明服务器的队列管理效率上有待改进(理想情况下,报表服务进程配置足够,只要队列长度大于Report Service的个数就应该使用完所有的系统资源)。
参与3

1同行回答

zhengyi1943zhengyi1943CEO南京正一信息科技有限公司
学习了。显示全部
学习了。收起
系统集成 · 2013-07-07
浏览787

提问者

BI心声
软件开发工程师321
擅长领域: 大数据商业智能cognos

相关文章

问题状态

  • 发布时间:2012-09-17
  • 关注会员:1 人
  • 问题浏览:2002
  • 最近回答:2013-07-07
  • X社区推广