- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 zookeeper和kafka环境搭建以及使用
1、去官网下载zk和kafka下载地址kafka版本是 kafka_2.12-2.3.0.tgz,下载地址如下http://archive.apache.org/dist/kafka/2.3.0/kafka_2.12-2.3.0.tgzzk版本是apache-zookeeper-3.5.5-bin.tar.gz,下载地址如下:https://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.ta
2021-02-27 17:56:30
436
原创 jmeter使用beanshell和jdbc 将sql查询出来的数据写入文件中
需求通过sql查询结果,将结果写入scv文件中。思路1、使用jdbc取样器获取sql查询结果2、使用beanshell将查询结果写入指定的文件中。操作步骤1、创建一个配置原件JDBC Connection Configuration,如下图2、创建一个jdbc request 请求,如下图:3、创建一个beanshell取样器,如下图//创建文件对象FileWriter fw =new FileWriter("d:\\deviceNum.csv",true);//创建一个字符
2021-01-06 15:02:35
2189
5
原创 jmeter实现jdbc查询传参
需求:需要对设备进行批量删除操作,被删除的数据通过查询数据得来,删除操作通过删除设备接口执行思路1、使用jmeter的jdbc插件,通过JDBC request 获取sql查询结果,保存到变量中2、在删除设备的取样器中,引用jdbc查询结果的变量。操作1、我使用的数据库是mysql数据库,因此需要先准备mysql的驱动。将准备好的mysql-connector-java-8.0.20.jar保存到D:\apache-jmeter-5.2.1\lib\ext(放在jmeter的安装目录\lib\e
2021-01-06 11:14:28
1216
原创 访问nginx+php项目报错upstream timed out (110: Connection timed out) while reading response header from ups
操作步骤:请求php项目页面,nginx的erro.log日志报错upstream timed out (110: Connection timed out) while reading response header from ups解决方法:1、找到php的配置文件www.conf,添加如下配置request_terminate_timeout = 30s2、重启nginx和php,问题解决...
2020-12-27 15:10:42
868
原创 访问php项目提示Warning ,mysqlli_connect():(HY000/2002):No such fileor directory in xxxxxx on line 2
操作步骤:访问php项目,提示Warning ,mysqlli_connect():(HY000/2002):No such fileor directory in xxxxxx on line 2解决方法:配置文件中,连接数据库的ip由localhost 改成127.0.0.1如下配置<?php $conn=mysqli_connect("127.0.0.1","root","123456","db_shop") or die("数据库服务器连接错误".mysqli_error()
2020-12-27 15:05:26
404
1
原创 执行/usr/share/bcc/tools/filetop -C报错Exception: Failed to compile BPF module <text>
执行命令/usr/share/bcc/tools/filetop -C,报错:modprobe: FATAL: Module kheaders not found.Unable to find kernel headers. Try rebuilding kernel with CONFIG_IKHEADERS=m (module) or installing the kernel development package for your running kernel version.chdir(/l
2020-09-05 17:11:56
5614
1
原创 docker 容器化 grafana+influxdb 监控平台
上一篇介绍了用传统的方法安装了grafana和influxdb,现在来学习下使用docker容器化grafana和influxdb创建grafana容器docker run -itd --name=grafana -p 3100:3000 grafana/grafana创建influxdb容器下载镜像docker pull influxdb:1.7-alpine创建容器docker run -itd --name influxdb1.7 -p 8806:8086 -v $PWD:/var/
2020-07-19 18:57:26
492
原创 centos7安装docker与删除容器实例和镜像
doker简介docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器或者windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何借口。docker使用客户端-服务器(c/s)架构模式,使用远程api来管理和创建Docker容器,Docker容器通过Docker镜像来创建。Docker是基于LXC的轻量及虚拟化,相比KVM启动更快,占用资源更少。LXC:linux Container容器是中操作系统层
2020-07-19 18:36:12
1100
原创 JMETER之性能监控influxDB+granfana
什么是InfluxDBInfluxDB是一个时序数据库,使用go语言编写,常用的一种使用场景:监控数据统计。每毫秒记录一下电脑内存的使用情况,然后就可以根据统计的数据,利用图形化界面(InfluxDB V1一般配合Grafana)制作内存使用情况的折线图;可以理解为按时间记录一些数据(常用的监控数据、埋点统计数据等),然后制作图表做统计;特色:基于时间序列,支持时间相关函数(max,min等)可度量基于事件无结构、任意数量的列可拓展原生支持http,内置httpapi强大的类sql语法
2020-07-18 19:30:22
454
原创 idea读取properties文件中文乱码的解决方法
网上试了很多更改设置里的文件编码方式,还是不能解决。最后重新建立了一个properties文件,把内容拷贝过来。再读取就没有中文乱码的情况
2020-07-15 16:24:31
734
原创 JMETER之CLI模式
非GUI方式是没有jmeter界面的,我们在命令窗口通过命令行来运行场景,之所以要非gui方式运行是因为jmeter可视化界面及监听器动态展示结果都比较消耗负载机资源,在大并发情况下GUI方式往往会导致负载机资源紧张,会对性能测试结果造成影响。当然了,这个影响并不是说被测系统的性能受到影响,比如响应时间变大之类,而是影响了负载量的生成,比如非GUI方式100个线程可以产生100TPS的负载,而GUI方式只产生80TPS的负载,如果一台机器只能支持100个线程运行,那么我们只有多加机器来运行测试计划,这样一台
2020-07-13 23:26:36
2061
1
原创 JMETER性能测试之分布式
背景 Jmeter是基于java程序运行的,在windows上使用Jmeter进行性能测试时,非常耗费客户机的CPU和内存,如果并发数稍微大一点(比如100、1000...并发),单台电脑的配置经常无法支持,很容易卡死,即使不卡死也会使电脑运行很慢,导致我们没办法进行其它操作。 通过Jmeter远程启动功能,把一台windows机器做为控制器,远程控制其它多个windows或linux压力机,从而把压力分散到多台机器上,实现高并发功能;并在master上收集测试结果。jmeter分布式环境配置
2020-07-05 23:16:24
599
原创 JMETER之性能监控 nmon
nmon和serverAgent的 区别在于serverAgent是实时监控性能指标。nmon只能先监控,后查看数据,是一个无人值守的功能。数据库服务器监控时,一般选择nmon。性能测试中,用到更多的是serverAgent。(一)环境准备1、下载压缩包,nmon16m_helpsystems.tar.gz(二)操作步骤**2、在lixun服务器中,**创建一个nmon的文件夹,把压缩文件上传到nmon的文件中3、解压文件解压命令tar -xzvf nmon16m_helpsystem
2020-07-04 22:44:52
514
原创 JMETER性能监控之serverAgent
对linux服务器的服务进行压测时,服务器的运行情况可以通过添加插件serverAgent来观察。(一)环境准备1、下载zip包ServerAgent-2.2.3.zip2、在服务器中,创建一个文件夹serveragent,名字随便起mkdir serveragent3、在SecureCRT工具下按Alt + p 打开sftpput D:\02-jmeter\ServerAgent-2.2.3.zip将文件上传至serveragent 文件夹下面4、使用解压命令unzip Serv.
2020-07-04 19:27:41
20838
1
原创 jmeter之跨线程组传递参数
背景:有2个取样器,一个登陆,一个注册。针对2个接口,需要设计2个不同的性能测试场景。登陆接口的手机号码,来自与注册接口执行结果获取的手机号码。1、注册线程组中,注册完成后,提取手机号,保存到mobilephone变量中2、打开函数助手对话框,使用setProperty函数,将mobile变量,存入jmeter的属性文件中。在函数助手中,拷贝函数字符串3、添加一个调试取样器,名称改成KaTeX parse error: Expected group after '_' at position 2:
2020-07-04 00:22:04
302
原创 jmeter之jpgc插件设计性能测试场景
(一)环境准备1、下载jmeter插件jmeter-plugins-manage-*.jar包,放到jmeter lib\ext文件夹中。可以在官网下载:https://jmeter-plugins.org/2、启动jmeter后,点击选项-plungins-manage,打开插件管理页面。3、重启jmeter后,是否安装成功检查(二)Stepping Thread Group 线程组元件This group will start:加载多少个线程First,wait for :
2020-07-03 23:36:38
2610
2
原创 Jmeter之JDBC的使用
(一)环境准备1、下载mysql-connector-java-x.x.x.jar放到 jmeter根目录的lib目录下,重启jmeter(二)数据库配置1、在测试计划下面,添加一个setup线程组2、在setup线程组下,添加一个配置元件JDBC Connection Configuration3、填写配置信息Variable Name:数据库连接池的名称,我们可以有多个jdbc connection **configuration,**每个可以起个不同的名称,在jdbc request
2020-07-01 23:08:01
330
原创 Web Service的基本概念和jmeter调用soap接口
1、Web Service基本概念Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。Soap:(Simple Object Access Pr
2020-06-30 23:00:56
287
原创 JMETER常用参数化
(一)配置文件-CSV Data Set ConfigCSV Data Set Config 可以从指定的文件(一般是文本文件)中一行一行的提取文本内容乃公。根据分隔符拆解这一行内容并把内容与变量名对应上,然后这些变量就可以供取样器引用。操作步骤:线程组–添加–配置文件–CSV Data Set Config参数说明名称:可以随意设置,最好有业务意义注释:可随意设置Filename:引用文件地址。可以是相对路径,也可以是绝对路径。相对路径的根节点是jmeter的启动目录(%JMETER_H
2020-06-21 16:11:24
377
原创 性能测试基础
性能测试自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试逐步增加系统负载,测试系统性能变化,并最终确定系统所能承受的最大负载量也就是在一定软硬件环境下,通过不断加大负载来确定满足性能指标情况下能承受的最大用户数。简单说,可以帮我们对系统进行定容定量,找出系统性能的拐点,给予生产环境规划建议。这里的性能指标包括TPS(每秒事务数)、RT(平均响应时间)、CPU 利用率,内存使用情况等软硬件指标。关键词:逐步增加压力测试在较大的性能压力下,持续运行一个比较
2020-06-14 18:21:39
220
原创 Selenium Grid 的使用(二)
TestNG并发执行测试Selenium Grid能够分布式在不同机器上运⾏不同浏览器,但是我们看到的串⾏的效果(也就是⼀个浏览器执⾏结束 后,再运⾏另外⼀个浏览器)。要达到并发执⾏的效果,Selenium Grid是做不到的,我们需要通过TestNG单元测试 框架所带的并发执⾏机制。并发执⾏能够带来的好处:1、减少了执⾏时间:并⾏测试也就意味着多个浏览器可以在同⼀时间被同时执⾏,从⽽减少了整体测试所花费的时 间 2、允许多个线程并⾏同时执⾏⼀个测试脚本/不同的测试脚本TestNG并发测试配置
2020-05-31 23:49:34
143
原创 Selenium Grid的使用(一)
什么是Selenium GridSelenium Grid 是Selenium的三大组件之一Selenium Grid 允许用户同时在不同的机器和系统上测试不同的浏览器Selenium Grid的组成 *hub节点 中心节点,或者总控节点 管理各个node节点的注册信息和状态信息 接受并转发客户端(测试脚本)请求到合适的node节点 *node节点 子节点,或代理节点 负责注册配置信息到hub节点(平台、浏览器、浏览器版本等等) 负责接收来自hu
2020-05-31 21:54:35
256
原创 jmeter写入结果到excel
(一)准备环境1、下载jxl.jar包,放到jmeter的安装目录bin目录下。2、重启jmeterexcel中一般有三个要素:workbook,sheet,cell操作步骤:1、获取excel的文件名2、获取表单名3、获取单元格的坐标4、获取结果,写入到对应的单元格里面。5、需要利用beanshell写java代码,获取对应的数据写入excel里面去(二)jmeter测试数据...
2020-04-01 22:52:02
3565
1
原创 sublie行末尾批量添加字符的方法
1、选中要操作的行,全选就按Ctrl+A;2、使用快捷键Ctrl+Shift+L,进入待操作状态;3、使用左右方向键(←或者→),批量操作行首就按左方向键,批量操作行尾就按右方向键。按照码笔记上面的操作步骤,你会发现光标在每行的行首或者行尾闪动,这时候键入你想要添加的字符串即可。...
2020-03-20 09:53:20
545
原创 Jenkins安装插件提速
第一步,找到jenkins工作目录下的updata文件夹下的文件default.jsonC:\Users\nyxin.jenkins\updates\default.json第二步,打开替换如下内容http://updates.jenkins-ci.org/download替换成https://mirrors.tuna.tsinghua.edu.cn/jenkinshttps://w...
2020-02-28 17:18:32
290
原创 随机生成手机号码
package com.lemon.apiAuto.Util;import java.util.Random;public class CreateMobileUtils { /** * 获取手机头3位 * * @param type * @return */ public static String getHeadMobile(Integer type) { ...
2020-02-27 20:11:02
3583
转载 (六)java+testng+poi之数据库操作之JDBCUtils
数据库操作之DBUtils概述DBUtils是Java编程中的数据库操作实用工具,小巧简单实用。DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。DBUtils三个核心功能介绍QueryRunner中提供对sql语句操作的APIResultSetHandler接口,用于定义select操作后,怎样封装结果集DBUtils类,它就是一个工具类,定义了关闭资源与事务...
2020-02-21 23:23:20
316
原创 (五)java+testng+poi之响应结果多字段断言
接口响应结果是否和预期一致。如下表,实际结果中是接口响应数据的回写,预期结果是将断言的字段和值,设计成一个json数组。从diamante上实现的话,需要以下步骤(一)1、创建一个实体类,有2个属性,一个是expression一个是value2、// 将预期结果封装成Jsonpathvalidate对象List list = JSONObject.parseArray(excpecte...
2020-02-21 23:14:16
886
1
原创 (四)java+testng+poi之接口鉴权
1、HTTP是无状态协议什么是无状态?就是说这一次的请求和上一次的请求是没有任何关系的,无法共享信息。好处就是速度快。2、cookie、session的加入HTTP请求是无状态的,所以解决共享信息的问题必须采用其他的手段,于是就有了sessionid,sessionid是基于cookie实现的。服务器为每一个用户生成一个不一样的随机字符串,每次向服务器发起HTTP请求时,都会把这个字符串传给...
2020-02-21 22:54:54
756
转载 java中JSONPATH的使用
什么是jsonpathJsonPath参照XPath解析xml的方式来解析JsonJsonPath用符号$表示最外层对象,类似于Xpath中的根元素JsonPath可以通过点语法来检索数据,如: shell $.store.book[0].title也可以使用中括号[]的形式,如 shell $[‘store’][‘book’][0][‘title’]运算符JSON{ "l...
2020-02-20 17:33:20
8390
原创 (三)java+testng实现接口的批量测试的实现_testng数据提供者解决批量测试
利用testng的注解来实现。package com.lemon.apiAuto.cases;import org.testng.annotations.AfterSuite;import org.testng.annotations.DataProvider;import org.testng.annotations.Test;import com.lemon.apiAuto.Ut...
2020-02-18 20:35:14
626
原创 (二)java+testng实现接口的批量测试的实现_数据源Excel的读写
1、接口用例编写在excel中。2、解析excel文件,存放到实体类中3、对数据进一步帅选,得出想要的测试数据,封装到对象中,然后再放到list集合中4、接口用例执行就结束后,将需要回写的数据存放到对象中,然后添加到集合中。最后再统一执行写回excel表格的操作。package com.lemon.apiAuto.Util;import java.io.Closeable;impor...
2020-02-18 20:32:26
822
原创 (一)java+testng实现接口的批量测试的实现_HttpUtil工具类
实现思路(一)将pos、get、patch等接口的调用封装成一个httpUtil工具类(二)用例设计在excel中,解析excel文件,返回一个二维数据,作为数据提供者(三)testng的test方法写单个接口批量测试,引用@dataProvide注解,达到批量测试的目的。httpUtil工具类package com.lemon.apiAuto.Util;import java.io...
2020-02-18 20:28:59
943
5
原创 java实现get类型接口调用
GET: (一)GET通常用于获取服务端数据。 常见发起GET请求的方式有:URL 、src/href、表单(form)。 (二)GET方式提交数据的格式: 格式:index.php?userName=jack&password=123 (注意:index.php?key=value&key=value。 userName=jack&password=123...
2020-02-18 20:18:02
6053
原创 java实现post类型接口的调用
(一)相关jar包坐标 <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId&...
2020-02-18 20:12:12
2409
转载 四种常见的post请求中的参数形式
1)、HTTP 协议是以 ASCII 码 传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。2)、协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须 使用什么编码方式 。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。3)、数据发送出...
2020-02-15 17:38:57
2857
原创 Jinkens 控制台输出中文乱码解决方案
第一种解决方法:环境变量配置:Name:JAVA_TOOL_OPTIONSValue:-Dfile.encoding=UTF-8第二种解决方法jenkins全局设置系统管理–系统设置中添加“全局属性”设置key:LANGvalue:zh_CN.UTF-8第三种解决方法tomcat 的bin目录下的catalina.bat文件在set JAVA_OPTS=%JAVA_OP...
2020-02-12 11:18:41
275
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人