压力测试操作流程

压力测试相关操作:

路径:

[map@cq01-testing-map70.vm.baidu.com output]$ pwd

/home/map/qa/lwb/output

2压力测试环境配置

ftp://getprod:getprod@product.scm.baidu.com:/data/prod-unit/prod-64/app-test/search/map/testpress/testpress_1-0-1-4_PD_BL/product

需要建立data目录下面放置自己的词表

3,构建压力测试词表

需要从mysql中拉线上的数据,相关命令是:

mysql -h10.81.32.196 -P5152 -Dns_map_data_new -uwangyuchuan_r -p3DLg15rhSsm0O7Ns -e" select  city, phone from t_poi_raw where phone !='' limit 6; " > phone_normal.cibiao

需要注意的是,比如phone字段如果有多个号码的时候有双引号包括,这点在转换为json格式的时候需要特别注意

将mysql导出的文件转换为json格式,注意不要第一行,并且注意格式,是不是存在两个引号等等。本项目中用到的方法是:

首先去除引号

Sed –I ‘s/”//g’ phone_normal.cibiao

之后转化为json格式

cat phone_normal.cibiao | awk 'NR!=1{print "{"city":""$1"","phones":""$2"","area":""}"}' >phone_normal.json

4, 修改conf目录下的testpress.conf文件,修改以下几处:

#压力频率 (req/s)

TEST_REQ_RATE: 1000

修改为模块自己的频率

#发压力线程数

TEST_THREAD_NUM: 100

修改为自己需要的线程

TEST_FILE: ./data/phone_normal.json

#压力数据是否循环,是=1,否=0

修改为自己的词表路径

#HTTP_pressmethod=0,包括HTTP的GET和POST系统级压力请求,要求post的内容是文本格式

#nshead_mcpack_pressmethod=1,是json词表的模块级压力请求

#binary_pressmode=2,是用netbridge dump下来的二进制数据包词表 

#cache_pressmode=3

#only_mcpack_pressmode = 4,词表的格式是:包长度+mcpack+包长度+mcpack

#post_mcpack_pressmode = 5,词表的格式是:post+mcpack

TEST_PRESSTYPENAME: 1

根据需要进行修改

 #压力的后端服务名称

TEST_SERVICE: testpress

#cache服务配置信息

[..@Service]

Name : testpress

这两处需要保持一致

[...@Server]

IP: 10.81.11.38

Port: 6040

修改ip和端口

5, 前台运行的话

在output目录下面执行:

./bin/testpress  ./conf/testpress.conf

后台的话

Nohup ./bin/testpress  ./conf/testpress.conf &

6,之后到模块下的log路径(注意不是压力部署换件的log目录)

执行命令 resttime *.log

qps *.log 等等

查看压力是否正常:

1,  查看压力部署环境下的nohup.out文件是不是有非常多,同类型的报错信息

2,  查看模块目录下的log中是否有很多

NOTICE: 05-12 16:10:30:  phone_normal * 14956 [  logid:100663319  ][  proctime:total:0(ms) queue:0+rev:0+proc:0+write:0  ][  reqip:10.81.13.172  ][  reqsvr:  ][  cmdno:  ][  svrname:query  ][  errno:  ][    ][  param:no city erroraram error result:   ][    ]

有的话代表正常

原文地址:https://www.cnblogs.com/bobodeboke/p/3727502.html