自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 性能测试之tomcat+nginx负载均衡

方式来处理连接,也就是一个连接只有一个worker被唤醒,其他的处于休眠状态,设置为off后,多个worker按并行方式来处理连接,也就是一个连接会唤醒所有的worker,直到连接分配完毕,没有取得连接的继续休眠。可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。open file cache指今中的inactive 参数时间内文件的最少使用次数,如果超过这数字,文件描述符一直是在缓存中打开的,如上,如果有一个文件在inactive 时间内一次没被使用,它将被移除。

2023-02-14 21:03:18 1117

原创 性能测试之nginx监控系统搭建

在Nginx服务器192.168.43.138上安装Nginx,(安装教程在前几篇文章有详细描述)实现反向代理tomcat负载均衡执行一下命令,关闭防火墙关闭后查看防火墙状态 firewall-cmd --state ,not running 表示未运行启动不同服务器上的tomcat服务器http://192.168.43.133:8080/ ,http://192.168.43.133:8080/ 两个端口都正常访问在nginx 服务器配置 nginx.conf 文件。

2022-12-14 13:54:26 695

原创 性能测试 之cpu 线程 上下文切换问题分析

java 中的main 方法 是按顺序执行的 这样的执行路径是一条线程,而企业中通常是使用多线程编码。上篇文章使用了stress-ng 模拟了 进程上下文切换导致的性能问题, 现在我们在使用 该工具模拟线程上下文切换,那么进程和线程有什么区别呢。该命令 会在当前机器 N个cpu核的系统上,产生 N个进程,每个线程产生1024 个线程,模拟线程竞争cpu 上下文切换的场景。抽象:线程(thread)是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。开始执行监控: top。

2022-12-02 11:11:30 729

原创 性能测试 之进程上下文切换问题分析

通过 grafana(前端) + prometheus(时序数据库) + node_exporter(硬件资源收集器) 安装监控系统node_exporter 安装在被上,因为我本机已经安装过,所以只需要通过find 命令找到node所在位置,执行 `./node_exporter` 启动收集器就可以。没有安装过的可以直接解压tar包到指定目录后执行命令。端口:9100在上安装prometheustar.gz包,解压 然后启动 `./prometheus 默认端口: 9090。

2022-11-29 21:08:38 733

原创 性能测试之cpu 分析

非自愿上下文切换: 可能是因为 cpu瓶颈, 抢占资源所导致的 (被迫执行优先级更高的指令或指令执行的时间已经到了 被迫中止当前的指令,去执行其他指令)1 sys高+si高 推导出===>内存 or 网络I/o问题----解决办法:排查内存 和 I/o。场景2:si 软中断高 -------排查cpu抢占资源 结合sy 系统进程查看。场景1:sy 系统进程高 -------排查cpu的上下文切换。场景3:us 用户进程态高 -------用户程序计算。转存失败重新上传取消。

2022-11-29 20:57:58 1546

原创 Linux 性能分析命令详解

监控工具\平台来收集cpu的使用率 是所有cpu数量的一个总体的使用率top -f 展示对应指标的含义按下n输入3top命令默认3秒钟刷新一次数据: s 输入阿拉伯数字性能基础分析命令 ps。

2022-11-23 20:38:23 1507

原创 Linux 性能分析命令 -top

linux top 命令深入解析

2022-11-23 20:29:24 339

原创 性能测试场景设计之 阶梯性能场景(负载测试场景)

负载测试场景

2022-11-12 21:11:34 833 2

原创 性能测试场景设计之普通性能场景设计

普通性能场景设计

2022-11-12 18:46:57 751 1

原创 jmeter变量函数以及抓包用法

用户参数 ---全局变量,作用于整个‘**测试计划**在启动运行时,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变用户变量取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变。

2022-11-02 19:19:58 454

原创 通过json参数化做复杂参数接口自动化过程

json参数化

2022-07-24 18:08:35 445

原创 springboot服务生成jar,在服务器运行

使用maven 命令行打jar包:mvn -Dmaven.test.skip -U clean package生成的jar包编写执行shell脚本nohup java -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m -server -Dserver.port=8087 -jar zctest.jar 'cztest' --spring.profiles.active=dev >>./test_.

2022-03-22 16:01:28 675

原创 BurpSuite-安全测试神器之Burp Target

Burp TargetBurp Target 组件主要包含站点地图、目标域、Target 工具三部分组成,他们帮助渗透测试人员更好地了解目标应用的整体状况、当前的工作涉及哪些目标域、分析可能存在的攻击面等信息,下面我们就分别来看看Burp Target的三个组成部分。目标域设置 Target Scope 站点地图 Site Map issue definition 问题定义目标域设置 Target ScopeTarget Scope中作用域的定义用法:当我们对某个产品进行渗透测试时,可

2022-02-27 17:40:44 836 1

原创 BurpSuite-安全测试神器之代理设置

服务器返回拦截服务器端返回消息拦截顾名思义是指拦截服务器端返回的消息的相关配置项,其界面如下:intercept response based on the follow rules Automatically update Content-Length header when the response edited两个选项,其功能分别与客户端请求消息拦截中的intercept request based on the follow rules、Automatically update Co

2022-02-27 17:39:32 4446

原创 BurpSuite-安全测试神器

Burp Suite (简称BP,下同)是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程主要功能:代理工具(Proxy), 爬虫(Spider),暴力破解(Intruder),漏洞扫描(Scanner付费),重放请求(Repeater),附属工具(decode comparer),扩展定制(Extender)配置代理使用谷歌插件直接代理设置证书可以抓取https的请求这里,直接输入【cacert.der】 然后选

2022-02-27 17:36:29 6393

原创 解决vm虚拟机 ip地址未映射

输入ip addr查看地址修改文件地址和ip addr 地址一致

2021-03-01 11:57:21 851

原创 专项测试-App性能分析

专项测试app性能 Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一[1]。一个app的启动由多个Activity 组成。Activity启动流程1、调起app,创建白窗口,启动进程 (启动前)2、Application onCreate先创建Object,再创建主线程(main thread)用于加载主要的Activ...

2021-01-05 16:07:00 254

原创 RestAssured 高级验证

验证响应数据您还可以验证状态码,状态行,Cookie,headers,内容类型和正文。验证cookis:

2020-12-25 10:37:26 302

原创 企业接口测试流程分析(一)

接口测试流程 以企业微信分析为例需求评审:需求评审问题示例:(业务角度)序号 用户故事 1 添加一个部门 2 给一个部门添加子部门 3 修改子部门的相关信息 4 删除一个包含成员的部门 5 删除一个不包含成员的部门 6 删除一个不包含子部门的部门 7 删除一个包含子部门的部门 8 查询某部门下子部门的树状结构 用户故事整理出的需求问题:1,添加部门信息是否包含父子关系2,删除部门时是否校验.

2020-12-24 23:16:00 373 1

原创 接口测试 Rest-Assured 使用指南

REST Assured 是一个轻量化接口测试框架,它支持发起POST,GET,PUT,DELETE,OPTIONS,PATCH和HEAD请求,并且可以用来验证和校对这些请求的响应信息。1.配置Java环境,新建maven工程,导入jar包<!-- rest assured--><dependency><groupId>io.rest-assured</groupId><artifactId>rest-assured</

2020-12-17 14:02:30 1865

原创 charles 抓包修改app页面数据

1,首先给手机安装Charles证书,安装官方的来,在无线网配置项目,输入手动代理地址,后开启飞行模式刷新网络,2,在浏览器输入chls.pro/ssl 下载并安装证书,此时电脑端charles 会弹出提示,选择信任设备即可,安装成功后,开始操作,此刻Charles自动抓包,可查看接口内容3,模拟实战,将雪球app中 股票名称修改为超长字符,验证 app的样式容错问题打开Charles的工具栏,选择重写选择添加 ,位置选择空,意思...

2020-12-09 23:53:14 4842

原创 计算机网络浅析

LAN:局域网 local Area NetworkWAN: 广域网 Wide Area NetworkWAN= LAN +LAN+....+LAN 多个LAN 组成 WANOSI 七层协议 : TCP/IP协议: 网络协议标准7 应用层 4 应用层 HTTP,FTP , SMTP6 表现层 ...

2020-12-08 11:06:30 125

原创 App自动化之UIautomation定位

UIautomation定位的优点:速度比xpath定位快,UIautomation是Android的工作引擎缺点: 没有idea提示UIautomation使用方法:AndroidDriver<MobileElement> driver=(AndroidDriver<MobileElement>)this.driver;UIautomation定位种类:通过父子关系定位 driver.findElementByAndroidUIAut

2020-11-30 14:55:24 1570

原创 app自动化样式定位工具 weditor

1.cmd执行pip install weditor命令pipinstall-Uweditor2.cmd启动weditor,执行python -m weditor获取设备的udid:输入后链接

2020-11-21 16:44:29 305

原创 Selenium的PO设计模式

Page Object(页面对象)模式,是一种将页面元素定位和元素操作方法按照页面抽象出来,分离成一定的对象,然后再进行组织的一种设计模式,类似于java中的MVC 模式,代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。如果不使用pageObeject设计模式,在web自动化测试,当页面变化时,就意味着以前的定位元素方法不能用了,需要重新修改元素定位方式,要一个一个的从测试脚本中把需要修改的元素定位方式找出来,然后再进行修改。这会使脚本维护的

2020-11-16 23:39:18 534

原创 selenium执行js脚本

JS的处理Selenium能够执行js,这使得Selenium拥有更为强大的能力。既然能执行js,那么js能做的事,Selenium应 该大部分也能做直接使用js操作页面,能解决很多click()不生效的问题页面滚动到底部,顶部处理富文本,时间控件的输入Selenium调用js的过程:js代码:window.alert("selenium 弹窗)a=document.getElementById('KW').valuedocument.titleselenium提供了

2020-11-15 10:36:27 398

原创 Selenium web自动化之web控件交互

Actions 方法列表Actions类是Selenium对鼠标、 键盘操作的动作类是Selenium对鼠标、键盘操作的常用的操作包括:click- 单击鼠标左键click and. hold-点击鼠标左健,不松开context click 一 点击鼠标右键double_ click一 双击鼠标左健drag and_ drop一 拖拽到某个元素到目 标位置后松开drag and drop _by_offset 一 拖拽到某个坐标然后松开move_ by_ offset ...

2020-11-14 22:51:49 478

原创 web自动化控件定位

xPath 定位xpath :xml Path language 用于解析 xml和html速度相对其他较慢,使用范围广常用操作定位调试技巧 ,使用调试模式在 console 中输入定位语句$x 代表使用xpath# //* 选取所有元素, @id 指定id=s_tab //b选取s_tab 下的b元素$x('//*[@id="s_tab"]//b')#定义到第一个$x('//*[@id="s_tab"]//a[1]')#定义到第二个$x('/..

2020-11-14 22:15:52 220

原创 selenum三种等待方式

直接等待强制等待,线程休眠一定时间//Thread.sleep(5000); 等待5s才会操作.隐式等待设置一个等待时间,轮询查找元素是否出现,如果没出现,则抛出异常 ,隐式等待是针对全局//webDriver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);.显式等待在代码中定义等待条件,当条件发生时才会继续执行代码,显式等待针对每个元素 ( 下面是针对点击事件)wait=new WebDriverWa

2020-11-14 20:58:28 157

原创 postman 的参数化方式

参数化如:登录接口,需要提取登录接口返回的token,用于其他接口的操作1.登录接口,在Tests里面设置usertoken环境变量,用来保存token值。将token存放到同一环境变量中携带token 请求下一个接口...

2020-07-10 15:39:41 873

原创 jmeter 测试 MQ 接口方法

MQTT服务搭建 服务器环境配置:# 安装必须的依赖sudo yum install -y yum-utils device-mapper-persistent-data lvm2# 添加稳定的存储库sudo yum-config-manager --add-repo https://repos.emqx.io/emqx-ce/redhat/centos/7/emqx-ce.repo# 如果低于cento8,可以直接用这一个命令一键安装,centos8则要执行上面的,再执行这句curl.

2020-07-10 11:43:57 2723

原创 servlet生命周期

一、什么是servlet Servlet(Server Applet)是JavaServlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  1、编写一个Java类,实现servlet接口。  2、把开发好的Java类部署到web...

2020-06-05 21:55:28 160

原创 mysql oracle 数据库事务,隔离级别

1.事务的基本介绍1.概念:*如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。 2.操作:1.开启事务: start transaction;2.回滚:rollback;3.提交:commit; 3MySQL数据库中事务默认自动提交* 事务提交的...

2020-05-24 23:41:39 197

原创 mysql 多表联查 基础版

* 笛卡尔积:* 有两个集合A,B .取这两个集合的所有组成情况。* 要完成多表查询,需要消除无用的数据-- 隐式 内链接SELECT a.`NAME`, b.gender, b.`NAME`FROM dept a, emp bWHERE a.id = b.dept_id-- 显式内链接SELECT * FROM emp INNER JOIN dept ON emp.dept_id=dept.id;S...

2020-05-24 23:18:07 150

原创 多线程之 并发与并行

并发:指两个或多个事件在同一个时间段内发生。并行:指两个或多个事件在同一时刻发生(同时发生)单个cpu的情况下 单核处理器的计算机肯定是不能并行的处理多个任务的,只能是多个任务在单个CPU上并发运行。同理,线程也是一样的,从宏观角度上理解线程是并行运行的,但是从微观角度上分析却是串行运行的,即一个线程一个线程的去运行,当系统只有一个CPU时,线程会以某种顺序执行多个线程,我们把这种情况称之为线程调度。...

2020-05-23 14:46:12 580

原创 从零开始看java泛型

泛型是一种未知的数据类型,当无法确定使用什么数据类型的时候,可以使用泛型,泛型也是一个变量,用来接收数据类型。T t: Type 类型E e:Element 元素ArrayList<String> coll = new ArrayList<>(); //创建集合对象的时候会确定泛型数据类型 为string使用泛型可以直接使用数据类型的方法,无序转换,存储的是什么类型,取出的就是什么类型private static void show02() { ...

2020-05-23 13:48:48 154 1

原创 通俗的讲一讲java内部类

内部类的定义格式如下: class 外部类 b { class 内部类 a{ } } 将一个类a 定义在另一个类b的里面,类a就被称为内部类,类b称为外部类。如身体类 Body中包含 heart类,这时,Cpu类就可以使用内部类来描述,定义在成员位置、exp: class body{ //外部类 class heart{ //内部类 }} 内部类访问特点: ...

2020-05-22 23:41:58 180

原创 递归?何为递归

递归算法是一种直接或间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解.  递归的分类:    递归分为两种,直接递归和间接递归。    直接递归称为方法自身调用自己。    间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。    for循环实现99乘法表public class test99 { public static void main( String[] args ) { ...

2020-05-21 23:42:57 1518 2

原创 网络通信协议之TCP与UDP

TCP/IP协议:传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是Internet最基本、最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求 UDP:用户数据报协议(User Datagram Protocol)。UDP协议是一个面向无连接的协议。...

2020-05-21 23:26:46 242

原创 java多线程中几种状态的解释

线程被创建后,有一个生命周期,下图是线程的生命周期详解。  java apijava.lang.Thread.State这个枚举中给出了六种线程状态,分别是:线程状态 导致状态发生条件 NEW(新建) 线程刚被创建,但是并未启动。还没调用start方法。 Runnable(可 运行) 线程可以在java虚拟机中运行的状态,可能正在运行自己代码,也可能没有,这取决于操 作系统处理器。 Blocked(锁阻 塞) 当一个线程试图获取...

2020-05-21 18:51:41 219

linux命令.xmind

linux命令.xmind

2021-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除