Closed jinjunge closed 5 years ago
你好,你这个问题我这几天压测dubbo的接口,应该刚好遇到,这里总结一下,也回复给你。 我遇到的需求是:压测dubbo接口,我需要做的是:
以上是Jmeter自己压测,自己创建java请求,压测dubbo的大致步骤。 那么到平台上,要怎么做呢?重复的就不说了,说下不同的:
那么回到你的问题,猜测:
建议:
思考:
最后,感谢你的issue。
hi,这几天都在看你写的平台代码, 写的很棒啊,非常感谢您,让我学到了很多东西
另外针对 您回答的dubbo这块压测,有开源的dubbo插件 这样大家测试dubbo接口的话 就不用写代码了,自然jar包冲突等问题也自然规避了;需要把dubbo及依赖的jar丢到jmeter jar包路径下 这个都是开源版本 不多聊哈
我们 再回到主要问题哈
针对非http协议的性能需求 性能脚本 1、比如dubbo的接口 我们有dubbo插件 引用dubbo插件包及其依赖包 丢到平台上 但是我们测试需求多变,比如我要测rocketmq *mq rpc等等 很多,所以实现AbstractJavaSamplerClient 类方式写脚本会成为一种常态 这种诉求很高很高
所以平台要设计支持这块,目前我看平台代码里 更多是处理非jar包方式的; 我这边考虑设计如果平台支持的话可能有2种方式解决jar包冲突方式,类隔离方案 1、简单粗暴的方式,jvm进程隔离 每个用户使用平台进行压测任务 1个jmeter controller(1台机器可以起多个controller) N个jmeter slave节点(每个slave 一台机器) 这样在每个集群节点上都放置脚本及依赖jar 单独解决这个脚本对应的jar 跟jmeter之间的冲突
2、多用户脚本 1个controller多agent方式 这种方式我还不能肯定,哈哈 期待与您沟通,加速平台支持非http协议 我的qq 805002329
hi,这几天都在看你写的平台代码, 写的很棒啊,非常感谢您,让我学到了很多东西
另外针对 您回答的dubbo这块压测,有开源的dubbo插件 这样大家测试dubbo接口的话 就不用写代码了,自然jar包冲突等问题也自然规避了;需要把dubbo及依赖的jar丢到jmeter jar包路径下 这个都是开源版本 不多聊哈
我们 再回到主要问题哈
针对非http协议的性能需求 性能脚本 1、比如dubbo的接口 我们有dubbo插件 引用dubbo插件包及其依赖包 丢到平台上 但是我们测试需求多变,比如我要测rocketmq *mq rpc等等 很多,所以实现AbstractJavaSamplerClient 类方式写脚本会成为一种常态 这种诉求很高很高
所以平台要设计支持这块,目前我看平台代码里 更多是处理非jar包方式的; 我这边考虑设计如果平台支持的话可能有2种方式解决jar包冲突方式,类隔离方案 1、简单粗暴的方式,jvm进程隔离 每个用户使用平台进行压测任务 1个jmeter controller(1台机器可以起多个controller) N个jmeter slave节点(每个slave 一台机器) 这样在每个集群节点上都放置脚本及依赖jar 单独解决这个脚本对应的jar 跟jmeter之间的冲突
2、多用户脚本 1个controller多agent方式 这种方式我还不能肯定,哈哈 期待与您沟通,加速平台支持非http协议 我的qq 805002329
感谢对平台的代码的肯定。 jar包冲突,类冲突确实会比较麻烦,这个还需要多考虑考虑。 尤其slave端,对它的控制太少了。 其实脚本对应的jar包可以和参数化文件一样上传,然后脚本中配置jar包的地址在脚本的同级目录下。但是这样也仍然会有slave端的class冲突问题(未来会想slave的日志监控,这样会直观看到为什么错误)。 其实这些都是Jmeter平台自身存在的问题,我们都是在尝试优化。 再次感谢。
运行调试模式的时候 ,自己写的java请求,引自己封装的jar,会报java.lang.ClassNotFoundException,需要怎么处理?