压力测试
压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预期数量的交易请求、测试系统在不同压力情况下的效率状况,以及系统可以承受的压力情况。然后做针对性的测试与分析,找到影响系统性能的瓶颈,评估系统在实际使用环境下的效率情况,评价系统性能以及判断是否需要对应用系统进行优化处理或结构调整。并对系统资源进行优化。
工具
loadrunner JMeter
代码不打印日志
ecp.plt.log_type=log
ecp.plt.runmode=product
启动项目脚本
nohup sh jmeter -n -t /home/ec2-user/jmeter-msl/workspace/BindCard-25-1042.jmx -l /home/ec2-user/jmeter-msl/result/BindCard-25-1042.jtl &zz
前面加上 nohup 会在bin目录下生成 nohup.out文件
使用 tail -f nohup.out就能监控运行情况
sh jmeter -g /home/ec2-user/jmeter-msl/result/BindCard-25-1042.jtl -e -o /home/ec2-user/jmeter-msl/ReportResult/BindCard-25-1042
Nohup Sh jmeter.sh -n -t test.jmx -l result.jtl -j jmeter.log -e -o report &
参数说明:
-n 在非GUI模式下运行JMeter
-t 要运行的JMeter测试脚本文件
-l 记录结果的文件
-j 执行日志
-e -o 生成html报告
部署项目
ps -lef|grep core
查看core所占用的进程
kill -9 进程
杀死进程
history|grep core
查看包含core所有命令
nohup java -Djava.rmi.server.hostname=69.230.209.97 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=18580 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar -DREGION_ID=core -DNODE_ID=core -Xloggc:/home/ec2-user/core/log/gc-core.log -DHWORKDIR=/home/ec2-user/core core.war > /home/ec2-user/core/log/core-server.log 2>&1 &
nohup java -Djava.rmi.server.hostname=69.230.209.97 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=18583 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar -DREGION_ID=gateway -DNODE_ID=gateway -Xloggc:/home/ec2-user/gateway/log/gc-gateway.log -DHWORKDIR=/home/ec2-user/gateway gateway.war > /home/ec2-user/gateway/log/gateway-server.log 2>&1 &
nohup java -Djava.rmi.server.hostname=69.230.209.97 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=18581 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar -DREGION_ID=rrc -DNODE_ID=rrc -Xloggc:/home/ec2-user/rrc/log/gc-rrc.log -DHWORKDIR=/home/ec2-user/rrc rrc.war > /home/ec2-user/rrc/log/rrc-server.log 2>&1 &
添加jvm监控jvisualvm.exe - 快捷方式
添加jmx连接
查看接口能否被ping通
curl http://172.31.15.193:8583/gateway/mrpay/UserRegister.do
内存使用情况
df .查看内存占用情况
free -h:查看内存使用情况
卡夫卡新建一个topic(在bin之前的目录下执行)
bin/kafka-topics.sh --create --zookeeper 172.31.4.160:2181 --topic topic-act-accounting --replication-factor 1 --partitions 4
bin/kafka-topics.sh --create --zookeeper 172.31.4.160:2181 --topic topic-pay-rrc --replication-factor 1 --partitions 4
批量造数据时的存储过程
存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS `insert_data`$$
CREATE PROCEDURE `insert_data`(IN num INT)
BEGIN
DECLARE n INT DEFAULT 1;/*定义一个变量,存储当前执行的次数*/
WHILE n <= num DO
INSERT INTO csdcrd.t_crd_test (crd_no,PWD) VALUES (CONCAT('888999100',LPAD(n,9,'0')),'62f9486f41a4761913dcc705ff521b43d20f4669382a657221e7adf233ae59e9');
set n=n+1;
end while;
END $$
查看日志
tail -f 文件名称
监控日志的变化
?搜索字段(倒叙的查询该字段出现的情况)
/搜索字段(正序的查询出现的字段)
n执行搜索命令
shift + n倒叙搜索
ctrl+b向上翻页
ctrl+f向下翻页
shift + g到日志底部
:0返回到日志顶部
:数字(返回到日志所占的百分比)
ctrl + r:搜索之前的记录
删除文件夹
rm -r 24
-i 删除前逐一询问确认。这个参数有一个好处,当在删除大量文件或目录的时候,可以防止我们误操作删除的文件或目录。
-f 即使原档案属性设为唯读,强制删除,系统不会逐一让我们确认。
-r 将目录及以下之档案文件一并删除。注意:如果 rm 不带此参数,是不能删除目录的。
-v或--verbose 显示指令执行后的结果信息。
拷贝文件夹
命令:cp dir1/a.doc dir2 表示将dir1下的a.doc文件复制到dir2目录下
cp -r dir1 dir2 表示将dir1及其dir1下所包含的文件复制到dir2下
cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录
说明:cp参数 -i:询问,如果目标文件已经存在,则会询问是否覆盖;
解压与压缩
tar在Linux上是常用的打包、压缩、加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数
参数:
-c :create 建立压缩档案的参数;
-x : 解压缩压缩档案的参数;
-z : 是否需要用gzip压缩;
-v: 压缩的过程中显示档案;
-f: 置顶文档名,在f后面立即接文件名,不能再加参数
举例: 一,将整个/home/www/images 目录下的文件全部打包为 /home/www/images.tar
tar -cvf /home/www/images.tar /home/www/images ← 仅打包,不压缩 tar -zcvf /home/www/images.tar.gz /home/www/images ← 打包后,以gzip压缩
在参数f后面的压缩文件名是自己取的,习惯上用tar来做,如果加z参数,则以tar.gz 或tgz来代表gzip压缩过的tar file文件
1 将tgz文件解压到指定目录
tar zxvf test.tgz -C 指定目录
比如将/source/kernel.tgz解压到 /source/linux-2.6.29 目录
tar zxvf /source/kernel.tgz -C /source/ linux-2.6.29
2 将指定目录压缩到指定文件
比如将linux-2.6.29 目录压缩到 kernel.tgz
tar czvf kernel.tgz linux-2.6.29