专家简介:

  10年的J2EE软件开发与架构设计经验,Oracle OCP、TTT金牌讲师、软件高级评测师、架构师/性能架构师。

  先后在长沙中邮、深圳盈多利、深圳金蝶工作(7年),任职过JAVA开发工程师,架构师,部门经理等职务,一直专注于架构设计、性能测试与优化的工作,曾负责金蝶核心ERP产品以及20几家大客户的系统性能评测与调优,

  参加过三次,其中负责过两次IBM上海实验室的大规模性能测试与优化,在J2EE产品性能测试与性能优化方面积累了很多经验,目前任职于深圳蓝凌软件平台架构部架构师,主要负责产品的架构设计与性能优化,主要研究领域是SOA架构设计、云计算、J2EE平台性能监控与优化。

  访谈记录整理如下:

  1、web应用性能测试关注的方面有应用服务器、数据库服务器负载、内存、cpu;应用响应时间、响应数、网络流量等,还有哪些方面要关注的,对得出的性能测试结果要怎样分析?

  上面列的已经包含比较广了,一些细节上还需关注,如J2EE还需关注JDBC池、GC,线程,WEB还需关注HTTP交互,数据库还需关注TOP SQL以及各种性能报表,至于分析,参加文体2的(3)部分。

  2、很高兴能参加这次交流,下面是我想了解的一些问题:

  (1)在日常的测试工作时如何进行性能测试

  日常的性能测试主要是从业务功能点中抽取具有并发特点的,高风险的、大数据量处理的业务,整理成测试用例,制定相应的指标,然后用工具或者手工进行性能测试并分析, 主要做单功能点的基准测试与组合场景的稳定性测试。

  (2)关于队列的性能测试如何进行

  队列由于有一个队列的长度限制,一般不通过用LR等工具来进行性能测试,主要是通过准备大数据量的待调度事件来进行测试,比如工作流调度队列,你可以准备1万条待调度的流程。

  (3)测试过程中发现了性能问题,问题要如何进行定位

  如果发现性能问题,我想首先是响应时间不达标,然后是定位分析了,定位分析需要一个过程了,一般程序是通过前端到后端进行分层分析,一般分为客户机层、应用服务器层、数据库层,像WEB程序,客户机层是通过分析JS或者http交互过程或者是LR的页面切割来分析,然后一层层的分析下去,知道定位程序的某个功能点、数据库的某条SQL语句,或者某些不适合的配置参数。

  (4)对于web前端的性能测试有什么工具和方法吗

  WEB前端的性能测试综合的测试工具有pagespeed、yeslow,httpwatch,IE开发者工具,主要是通过工具访问功能点,根据HTTP协议进行性能分析。

  (5)js的性能要怎么测试

  JS的性能可以不通过并发可以验证,IE8、IE9的开发者工具是一个非常不错的验证JS性能的分析器,主要分析调用时间跟调用次数。