您的位置:首页 > 其它

hprose接口性能测试工具-附带源码

2017-01-04 14:39 393 查看
  再阅读本文之前请下载 测试工具源码--http://download.csdn.net/detail/shuaizai88/9728596

工具实现逻辑

                          手动输入接口id(在t_interface表配置的自增id,用来获取一个接口的配置信息),输入ssoid - 也就是我们自己封装的sessionid,输入访问次数和并发次数。

                         首先会根据并发量创建线程池,根据接口id获取接口信息,然后创建 task交给线程池执行,记录每一个task的执行时间,结果,是否失败等信息,然后入库。

 

1  因为公司需要对hprose接口进行性能测试,没有用的爽的工具,故自己花了一下午做了一下 (java 版本)。

2  数据库建表语句

 接口和 参数配置表   CREATE TABLE `t_interface` (
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`url` varchar(1024) NOT NULL COMMENT '接口地址',
`param` varchar(2048) NOT NULL COMMENT '参数',
`functionName` varchar(102) NOT NULL COMMENT '方法名称',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8

接口调用记录表

REATE TABLE `t_interface_exe_log` (
`id` int(32) NOT NULL AUTO_INCREMENT,
`interfaceId` int(32) NOT NULL COMMENT '接口类型id',
`param` varchar(1024) CHARACTER SET utf8 NOT NULL COMMENT '参数',
`resultInfo` text NOT NULL COMMENT '返回结果',
`resultType` varchar(10) CHARACTER SET utf8 NOT NULL COMMENT 'success,error,other',
`exceptionInfo` text CHARACTER SET utf8 COMMENT '异常信息',
`times` int(32) NOT NULL COMMENT '时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17756 DEFAULT CHARSET=utf8mb4
3  使用说明--您老需要自己手动修改的地方,不能直接使用噢。
    A  我们公司使用了给手机客户端封装的sessionId 用来识别是哪个用户,参数为ssoid,如果你们公司没有这个参数,或者参数名称不同,需要修改下代码。

        修改类TestMain.main方法  和  TestService .runTest方法 和   HproseInterfaceInfo.setSSOID方法。

    B 我们公司接口调用有3种状态, 正常,结果会附带一个code:200 如果异常 附带一个 code:300    其他异常  一版是执行超时 。

        如果要修改需要修改TestService .exeHproseFun 方法。

      

如果有问题+QQ921888199。

PS:hprose 作者小马哥给我另外一个测试工具大家有需要也可以参考下https://github.com/Lao-liu/hprose-http-benchmark-wrk
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: