一次性能测试troubleshooting记录

背景

前一阵子,有个朋友在某客户现场的性能测试中指标一直压不上去,所以找我去从应用和中间件角度做了一次诊断。最近消息传来,他们经过不断的排查后,最终找到了罪魁祸首,正与我判断的方向相符。这次案例的最终结果和中间的诊断过程都有一定的特点,值得说道一下。

首先得介绍一下整件事情的背景和性能测试整体的环境。

事情的起因是我那位朋友(为了方便,我在下面把前面提到的那位朋友就简称为L),L供职的H公司有个客户正在规划将一套OLTP系统从大型机迁移到开放平台来的方案。于是该客户挑了几支核心业务交易,找来了中外好几家公司来分头做迁移并进行性能测试,客户根据测试的结果决定跟谁合作以及最终的迁移方案。跟大型机有关的事情从来不是小单,H公司为此调来了在欧洲专做COBOL代码迁移的小组,这个小组使用工具将应用代码迁移到了Linux平台,中间件则采用了Tuxedo,客户端与Tuxedo的通信是采用阻塞方式的tpcall。

系统基本情况

必须要说明的一点是由于只能使用该客户指定的机器接入测试网络,唯一能将信息存入个人设备的方式就是给屏幕拍照。因此下面的描述主要是根据我的记忆整理,所有命令输入我能写出来,但输出就无法复制了。这种条件下细节与事实难免会有些出入,但我会尽力保证整体的描述的准确性。

迁移后的系统部署上采用的是银行业常用的三层架构:客户端、应用服务器、数据库服务器。其软件环境大致如下:

软件环境
基础软件
客户端 Windows/LoadRunner ...
more ...