- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
理解性能测试相关的概念
TPS (Transaction Per Second)
该指标是衡量系统处理能力的最重要指标之一。它指得是系统在单位时间内(1s)内,系统可以处理的交易量。如果性能测试的目标是WMB的消息流,如HTTP服务、Web服务,那么一个交易指的是从消息进入消息流的第一个节点开始直到从最后一个节点将处理结果返回客户端为止。性能测试的任务之一就是要找到系统在极限情况下能够得到的最大TPS,该TPS反映了系统在极限情况下的处理能力。
Response Time
响应时间是衡量系统处理能力的另一重要指标。它指的是系统处理一个交易所需的时间,一般而言,该值是通过计算一段时间内系统所完成的交易的处理时间的平均值得到的。极限情况下系统的响应时间放映了系统响应请求的速度。
Vuser
Vuser,即虚拟用户,是性能测试过程中经常提到的概念之一,多数性能测试工具都会使用Vuser这一个概念。从操作系统级别看,Vuser相当于操作系统的进程或线程,有的测试工具提供选项供用户选择,但大多数情况下,使用线程的情况更多。
我们可以把Vuser理解成发送请求消息的“工人”,它们不断地发送请求消息,等待响应,收到消息以后再次发出请求消息,直到测试停止,或用户停止它的工作。
与虚拟用户相关的另一常用概念是ThinkTime,它值得是Vuser收到前一条响应消息到发出下一条请求消息之间的时间间隔。ThinkTime经常与Vuser同时使用,有时则不必使用。
客户端HTTP Settings
以测试HTTP服务或Web服务为例,由于这两种服务都以HTTP为传输协议,那么,客户端的HTTP协议响应的设置有时候会对服务端产生影响。为了使客户端与服务端建立的HTTP连接保持有效,通常需要设置协议级别为HTTP1.1并将Keep Alive设置成true。
定位性能瓶颈
监控
隔离测试法
寻找性能瓶颈的最佳方法就是隔离测试。以WMB上的消息流为例,可供参考的隔离方法如下。
隔离后台服务
造成性能低的原因可能出现在很多地方,可能是后台服务产生了性能瓶颈,所以隔离后台服务是重要的隔离方法之一。隔离后台服务的方法是通过一个计算节点代替HTTPReques节点或SOAPRequest节点,在计算节点里直接赋值被删除的节点应该返回的消息。通过两组测试的比较,可以观察到后台服务对整体性能造成的影响。
隔离HTTP/WS接入节点
对于以HTTPInput或SOAPInput接入的消息流,可将这两种接入方式换成MQ,从而可以比较出HTTP/WS接入节点对整体性能造成的影响。
隔离计算节点
计算节点是WMB中比较耗CPU的部分,在CPU使用量大,而整体性能不高的情况下,可以逐步隔离计算节点,找出计算节点对性能的影响程度。
隔离消息校验
在一些输入节点中,开启了消息校验的机制,因此,可以通过将该功能失效的方法判定该功能对性能带来的影响。
隔离Trace,Log等
开发过程中经常会使用到debug,trace节点等方式来解决开发过程中遇到的问题,但是在性能测试的过程中,应该将这些功能逐一屏蔽。
若有自定义的日志,作为消息流功能的一部分,也可以将该日志功能失效。使该部分I/O对性能的影响降到最低。
隔离WSRR查询节点
WSRR查询节点曾经也是比较消耗资源的部分,若在开发过程中关闭了其缓存功能,或将缓存的失效时间设置的很低,这些都会影响性能,所以在性能测试过程中,应该开启缓存供功能,将缓存失效时间设高。或者直接将该结点从消息流中隔离出来,以便分析该节点对整体性能的影响。
调优
平行扩展
组件优化
在WMB中,与HTTP/WS服务相关的可能会影响性能的组件有以下:
代理使用的JVM
每个代理中所有HTTP输入节点共享的HTTPListener组件
每个执行组中的HTTPConnector组件。
4. ComIbmSocketConnectionManager组件,控制HTTP/WS节点的socket连接的组件。
代理使用的JVM
使用ComIbmJVMManager设置JVM的个参数,可以适当增加HeapSize值
mqsichangeproperties BK00 -o ComIbmJVMManager -n jvmMaxHeapSize -v 1073741824
mqsichangeproperties BK00 -o ComIbmJVMManager -n jvmMinHeapSize -v 536870912
HTTPListener组件
在V7之前的版本中,HTTPListener位于代理级,它为所有的执行组中以HTTPInput接入的消息流所共享,该组件有一个HTTPConnector,它负责处理HTTP请求。HTTPListener对象管理HTTPList
文档评论(0)