摘要: 1,SAP-GUI的脚本和普通脚本有很大区别,在录制成功之后,脚本每一步的操作,都是格式化的,例如: sapgui_set_text("合同编号", "20010494", ctxtRMF672, BEGIN_OPTIONAL, "AdditionalInfo=sapgui5018", END_OP 阅读全文
posted @ 2020-12-24 10:51 fy- 阅读(440) 评论(0) 推荐(0) 编辑
摘要: jemter下载大文件,出现内存溢出的问题,一般解决方法有如下几个: 一、修改jmeter.bat的启动内存分配,一般结合自己压测机的内存大小看; 二、对于文件一次并发较小的情况,可以把文件写到本地; 三、用指令非GUI模式跑,可以节省资源; 四、设置减少response的内容; 五、终极方案了,也 阅读全文
posted @ 2020-11-02 09:47 fy- 阅读(1261) 评论(0) 推荐(0) 编辑
摘要: 好久没写了 一、cpu高的情况下,用top查看最高使用率的进程: pid为24602,然后确定该进程下的top的线程:top -Hp 24602 然后将ppid转化为16进制的:printf "%x\n" 24667 然后输出605b的堆栈信息: jstack 24602 |grep 605b -A 阅读全文
posted @ 2020-06-23 17:32 fy- 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 一、今天在查看服务器时候,发现内存使用率直接就到99%了, 二、用ps -uaxw查看一下,每个占用内存较多的进程情况: 三,挑出可疑的进程,生成dump文件: jmap -dump:format=b,file=jmap.hprof pid 四、导入到MAT中进行分析 MAT本地安装的工具,JDK版 阅读全文
posted @ 2019-01-03 11:11 fy- 阅读(920) 评论(0) 推荐(0) 编辑
摘要: 在LR中,直接写的接口请求,如果请求字段包含中文字段,服务器会不识别,这个时候就要用到lr_convert_string_encoding这个函数: 具体用法: lr_convert_string_encoding(lr_eval_string("工程部"),LR_ENC_SYSTEM_LOCALE 阅读全文
posted @ 2018-12-25 16:39 fy- 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 一,前提搭建android studio的环境中; 二,CMD进入到AndroidSDK\platform-tools路径下;输入adb shell 这个提示就是表示手机未连接 三、连接安卓手机,手机的USB模式必须打开; 四、输入指令:Monkey –p 安装包名字 –v 100 ,表示执行100 阅读全文
posted @ 2018-11-21 10:04 fy- 阅读(285) 评论(0) 推荐(0) 编辑
摘要: nmon是监控服务器的一个工具,可以自动生成快照,每次执行命令就可以了 这里写了一个小的shell脚本,练习一下 阅读全文
posted @ 2018-10-31 10:58 fy- 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 1,忘记密码-修改密码功能,前段发送验证码到收集字段,未验证手机号和被修改用户的账号是否同一个账户造成的 2,通过brupsuite抓包到的信息可以看到(这个是验证发送用户信息的请求),修改了RU(修改为已绑定手机号的我的账户RU),,该字段是用户的系统账号的加密编码 3,验证码信息会发送到这个系统 阅读全文
posted @ 2018-10-31 09:44 fy- 阅读(1055) 评论(0) 推荐(0) 编辑
摘要: 这写都是想到哪写到哪,权当自己的一个草稿纸了 JAVA的内存分为堆,栈,代码区,数据区 堆,存放的东西比较大,不连续的,需要优专门的回收机制来收回,在C++申请需要new,回收需要delete,在java中有GC机制回收; 栈:先进先出,后进后出,相对于函数来说,局部变量这些都是存放在栈中的,函数执 阅读全文
posted @ 2018-09-27 15:47 fy- 阅读(212) 评论(0) 推荐(0) 编辑
摘要: tracelog可以记录每个OpenGL函数调用的消耗时间,所以很多时候用来作performance分析。目前只支持安卓4.1以上的版本设备 1,目前Android Device Monitor最新的工具:Window-> Open Perspective -> Other -> Tracer fo 阅读全文
posted @ 2018-09-27 15:29 fy- 阅读(2997) 评论(0) 推荐(0) 编辑
摘要: 抓取traceview的日志有两种方式, 1,是在代码中片段中添加: 2,是在Android Device Monitor通过Start/Stop Method Profiling(开启/停止方法分析)抓取到trace日志信息, 选中需要监控的应用进程,点击图上按钮Start Method Prof 阅读全文
posted @ 2018-09-27 14:30 fy- 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 今天搭建app性能测试环境,使用的是android studio的Android Device Monitor抓取trace日志分析; 1,下载最新的android studio安装,这一步没啥问题; 2,安装安卓模拟器; 3,下载更新gradle,一般更新都会失败,而且速度慢,解决方法,在本地电脑 阅读全文
posted @ 2018-09-27 10:08 fy- 阅读(1030) 评论(0) 推荐(0) 编辑
摘要: 一,依旧很简单的一个接口,查询列表接口,发现10并发单交易场景下,数据库表4w铺底数据,每次查询2000条数据进行orderby显示,平均响应时间2秒以上,数据库的cpu使用率高达95%; 二,抓到这条sql语句: select *from table1 t1 left join table2 t2 阅读全文
posted @ 2018-08-15 11:26 fy- 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 进行性能测试,肯定会对系统的资源使用情况进行监控,下面简单讲下对不太熟的几个指标的说明 这个是指令top对linux系统的查看 第三行CPU情况比较简单,很容易看,us表示用户使用的,sy表示系统使用的,两个加起来就是目前已经使用的cpu资源了 第四行的内存men说明:total是总内存,这个是16 阅读全文
posted @ 2018-07-09 17:16 fy- 阅读(872) 评论(0) 推荐(0) 编辑
摘要: 有时性能测试,会涉及到直接压测数据库,测试数据库处理sql的水平,或者通过sql脚本向数据库写数据做铺地数据 这里贴上一个自己用的对数据库操作的脚本 一,首先要去下载一个LR压MYSQL的一个库文件,放到bin和include目录下 二,在头文件中,添加对库的引用 #include "Ptt_Mys 阅读全文
posted @ 2018-07-09 17:16 fy- 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 一,【前提】:登陆操作系统后,需要切换到SQLPLUS的命令行模式:sqlplus / as sysdba 二,【监控步骤】:开始时执行一次:SQL>exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();结束时执行一次:SQL>exec DBMS_WORKL 阅读全文
posted @ 2018-07-09 17:16 fy- 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 在压测过程中,前置分发机的请求分发策略有多种,轮询,随机,DNS均衡,最小连接数等 问题出现的前提:因测试的一个系统对用户安全性校验较强,例如做交易之前,需要验证用户安全信息等 问题出现的现象:当loadrunner压测请求经F5分发到服务器A,B,C时候,发现所有压力在一台机上 问题出现的原因:原 阅读全文
posted @ 2018-07-09 17:16 fy- 阅读(825) 评论(0) 推荐(0) 编辑
摘要: JVM内存监控主要在稳定性压测期间,监控应用服务器内存泄露等问题; 【JVM远程监控设置】 1、打开WAS控制台:https://ip:port/ibm/console/login.do 2、进入路径:应用程序服务器 > Server_Name > 进程定义> Java 虚拟机 3、在通用JVM参数 阅读全文
posted @ 2018-07-09 17:15 fy- 阅读(1348) 评论(0) 推荐(0) 编辑
摘要: 利用一个一天帮忙测试了下,脚本开发很容易的,页面录制的,做了些关联就开始压测了, 第一轮压测结果: 看测出来,响应时间很慢。。 监控了下数据库问题,分析数据库资源使用率在98%以上,通过MYSQL慢查询找出了一条烂sql; 优化之后,第二轮测试结果: 说明:图中报错的是设置了响应时间大于2秒的交易, 阅读全文
posted @ 2018-07-09 17:15 fy- 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 解决方法更改.net安装目录中一个配置文件machine.config。 该文件位于.net安装目录下v2.0.50727\CONFIG(如C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG)使用文本编辑配置文件,配置文件runtime节点 默认 阅读全文
posted @ 2018-07-09 17:15 fy- 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 1, 进入到/etc目录下,打开my.cnf文件,在文件最后添加几行 slow_query_log = ON //打开慢查询开关 slow_query_log_file = /usr/udev/slow.log //慢查询监控日志存放位置 long_query_time = 2 //大于等于2秒的s 阅读全文
posted @ 2018-07-09 17:15 fy- 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 开发出来的LR脚本,执行次数多了,就会包含非常多的中间文件,占地方,所以有时需要清除掉 可以写一个简单的脚本,清理掉这些文件,脚本内容如下: 将脚本保存为bat格式的,放在我们开发的脚本目录下,点击执行以下就行了 注意:清除脚本中的路径为当前路径,删除的文件是当前路径下的符合格式的文件,不要放错了路 阅读全文
posted @ 2018-07-09 17:14 fy- 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 一,关于Sockets协议的脚本,首先对报文的解析是一个关键, 报文的解析一般对着接口文档,弄清楚每个字段代表什么意思,如下一段报文,放在data.ws中 二,是关于Sockets通信协议,有必要了解一下长链接,短链接的区别 sockets报文如下 阅读全文
posted @ 2018-07-09 17:14 fy- 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 1 登录WebSphere控制台 2 选择应用。点击启动和停止来启动和停止应用 3 查看当前活动。点击要查看的项目 4 在开始监测前,先选中服务,点击启动监控将集合状态改为活动的 进入页面后,在页面点开性能模块下勾选 JDBC连接池下的db2 JDBC Driver下对应运行的系统和系统数据、线程池 阅读全文
posted @ 2018-07-09 17:14 fy- 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: 一,最近压测系统交易峰值时,因该支交易采用MQ异步队列处理机制:该增加积分的交易,前段服务器优先返回给客户增加积分成功的结果,后端的MQ队列服务器再慢慢处理该请求; 二,压测过程中出现的问题现象:前几分钟TPS特别高,并无报错,直到一定时间后(交易发送了4、5w笔后),出现TPS直接降为0的情况 三 阅读全文
posted @ 2018-06-29 09:01 fy- 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 一,今天准备脚本做mysql数据库的铺地数据,脚本内容不赘述,在批量执行insert语句时候,出现一个问题: // sprintf(chQuery, "insert into table (id, create_time, update_time, version) values ('{dateti 阅读全文
posted @ 2018-06-25 11:22 fy- 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 一,初次压测,测试结果非常稳定:TPS均稳定在10左右,监控到数据库使用率达到99%。 二,认为是数据库cpu资源不足,增加了四倍资源,由4C增加到16C,再次压测,TPS在12左右,数据库使用率达到99%。 同时监控到一条满sql语句: 经和开发讨论,这条语句是权限校验语句,这几个表的数据量都不大 阅读全文
posted @ 2018-06-22 14:57 fy- 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 最近在学习自动化测试测试,在模拟实战的时候,碰到一个问题, 问题:首先目录结构如下: 在login_sta.py中,调用了models目录下的function和myunit模块,编译执行 python3提示:“未加载父模块, 不能执行相对导入” 解决办法: 在使用到不同目录下的模块时候,将所在模块的 阅读全文
posted @ 2018-06-04 15:22 fy- 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 问题:今天发现nmon文件分析成excel后,用《NMON抽取结果.excel》无法抓取到数据 解决过程:1,认为是nmon分析文件《nmon analyser v33g.xls》版本不对,现在了另一个通用版本的依然无法抓取到数据 2,对比了以前可以抓取到数据的excel文件,发现可能文件名太长了, 阅读全文
posted @ 2018-05-25 17:10 fy- 阅读(230) 评论(0) 推荐(1) 编辑
摘要: 一,简单的web页面,通过录制 登录+ 新建计划 两个交易的请求 · 很显然,开始提取登录后的token值,提示 No match found for the requested parameter "token". Check whether the requested boundaries ex 阅读全文
posted @ 2018-05-24 16:21 fy- 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 一,测试准备阶段 1.1,性能任务分析:测试范围确定 一般测试系统对性能测试范围的选择,遵循如下几个原则: 1) 系统选取占总交易量80%的交易,做为基础业务模型;2) 据业务量大小选取典型交易,一般通过统计生产系统交易量排序TOP10 、TOP20确定;3) 选取生产系统中消耗资源最多,或者耗时最 阅读全文
posted @ 2018-05-21 17:09 fy- 阅读(842) 评论(0) 推荐(0) 编辑
摘要: 1,性能压测情况:单交易50,100和200用户压测场景中,发现该交易很稳定的大概有5%左右的失败率, 2,后台根据流水号分析日志: 发现失败的交易,均提示一个时间字段上传的结果为空,故而导致交易失败; 95%的交易都成功,该时间字段都有值; 3,审查代码发现,该交易上送了多个字段,只有该时间字段是 阅读全文
posted @ 2018-05-16 16:04 fy- 阅读(173) 评论(0) 推荐(0) 编辑
摘要: Action() { lr_start_transaction("FM0075基金购买"); web_submit_data("ehouse_ehGetPwdRandomCode.do_2", "Action=http://21.96.63.53:8084/ehouse/ehouse_ehGetPwdRandomCode.do?", "Method=POST", "RecCont... 阅读全文
posted @ 2018-05-15 10:10 fy- 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 放上来做个备份: 阅读全文
posted @ 2018-05-15 10:06 fy- 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 方法一,采用java vuer开发 方法二:将getHttpFileByUrl函数单独封装起来,在lr中调用,在Eclipse中新建一个.java 阅读全文
posted @ 2018-05-09 15:31 fy- 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。 银行脚本使用MQ通信的较多,下面介绍一个MQ的脚本: MQ的脚本分为SEND和RECIVE两部分 send部分: RECIVE部分: 阅读全文
posted @ 2018-04-28 10:30 fy- 阅读(1455) 评论(0) 推荐(0) 编辑
摘要: 有些web端的程序只能通过chrome访问,如果用lr11录制的话,会抓不到包, 现在教一种方法,可以抓到包的,主体思路就是设置代理,让报文流量绕道走一下 一,在LR中的设置: 从菜单Tools-Recording Options-Network/Port Mapping 点击new entry 输 阅读全文
posted @ 2018-04-28 09:22 fy- 阅读(5422) 评论(0) 推荐(0) 编辑
摘要: 一,要发送的报文,转化成16进制的,报文如下 ACTION编写的脚本如下: 阅读全文
posted @ 2018-04-24 11:10 fy- 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00 60 31 00 31 07 30 02 00 30 20 04 C0 20 C0 98 11 00 00 00 00 00 00 00 00 01 00 03 49 02 10 00 12 30 62 25 82 阅读全文
posted @ 2018-04-24 11:07 fy- 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 一,工具作用:在性能测试时,监控各linux服务器,在不通的服务器上生成了nmon格式的文件,可以时间一键批量下载的功能; 二,使用前提: 1, 本地正确配置了JDK的版本, 2, 在本地能连接上linux的服务器, 3, 关闭本地防火墙, 4, 需保证操作路径下已经上传好对应系统版本的nmon执行 阅读全文
posted @ 2018-04-24 10:24 fy- 阅读(396) 评论(0) 推荐(1) 编辑