性能测试详细操作步骤
一、程序安装
1. 上传压缩包到服务器
压缩包位置:
2. 解压压缩包
3. 确认底层已经启动、已经创建通道
假设已经创建通道。
4. 部署合约
(1)如果合约已存在
存证合约一般叫 umfpoe。
fabric-deploy/scripts 目录下或者 org-cli 的docker里会有相应脚本,部署一份。
(2)如果合约不存在
解压压缩包里的 other.tar.gz :
other 目录下的 umfpoe.tar.gz 就是测试用的储存合约。需要手动安装一下。
(后来 other 目录改名成 constract 了)
5. 修改程序配置
(1)解压程序包
目录下的文件有:
(2)解压 JDK
(3)修改配置
这两个配置是必须要改的:
- fabric.properties
- vdns.properties
<1>
fabric.properties 里需要改的,是这一行(证书路径):
pwd一下程序目录,然后直接把整个 basePath= 后面的内容替换掉:
改完之后是这样:
如果其他的能对上的话,这个文件只改这个就行了。
这个配置文件里面有 fabric 的其他参数,如果测试环境的和默认配置对不上,需要手动改一下。
**注意**
fabric.properties文件里面的这一段,chaincodeName是合约名称。包里写的是 umpoe,少了一个f,可能需要改。和部署时候的合约名称对上。
<2>
vdns.properties 里保存的是ip,改成环境的ip:
二、运行程序
1. 启动
执行 start.sh
然后看一眼日志有没有报错,正常情况下没有 ERROR。
2. 验证
执行一下 test.sh
如果成功,第一个输出的 data 的值不是空的。
成功的日志:
一定要看到 SUCCESS 的字样,才是成功。
**注意**
这是不成功的输出:
不成功的日志,主要是第二行
三、测试相关配置
1. 部署多个程序
端口号的配置在 application-dev.yml 里,如果部署在同一台机器,记得改端口。
stop.sh 会直接把所有进程 kill 掉,不区分端口号。
2. JMeter解压
(1)JMeter程序
解压 jmeter-deploy.tar.gz:
目录下的文件有:
还需要解压 jmeter本身:
(2)配置文件以 jmx 格式结尾
默认900秒,1000个线程。
配置文件必须修改的项:
- 目标适配器地址
- 多个适配器需要修改多个
- 数据文件目录
< 1 > < 2 >
目标适配器地址默认有两个,vi 进去能看见。如果不要了得删掉,多了得加上。
这样的一段:(hashTree标签是单个)
刚发现这里默认的端口是 8688,实际程序的端口是 20255。 得把这里改成 20255.
< 3 >
这个里面的是数据文件目录。
(3)关于数据文件
数据文件分别在这三个文件夹下:
real_data_500W 是指用来真实测试的数据,单个文件有 500万 条数据,应该够跑15分钟。
里面有四个文件,一次用一个。有四个是为了避免出错。
其他两个文件下的数据是用来测试的,数据量分别是 10 和 10万,安装的时候用来验证。
(4)修改好配置文件
四、运行测试
1. 准备执行
2. 启动
结束后就有 end of run 的日志, summary 是实时的结果。
程序那边的日志:
××刚发现××
他们的那个 poe 合约是允许重复key写入的,我的那个在写入前会查询,不允许key重复。所以到时候还是得部署压缩包里面的合约。
(如果把日志关了,就没办法判断交易是不是全部成功。目录下支持 log4j.xml 配置)
五、查看测试结果
jtl 结尾的是结果数据文件。
遗留问题:
在没有界面的情况下不可能有tps图。
结果报表也没有。