03 2019 档案

摘要:构建位置:选择或创建工程_设置_构建触发器 1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月的第几天,取值1~31第四个*表示第几月,取值1~12第五个*表示一周中的第几天,取值0~7,其中0 阅读全文
posted @ 2019-03-23 12:21 后知后觉~ 阅读(383) 评论(0) 推荐(0)
摘要:构建位置:选择或创建工程_设置_构建触发器 1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月的第几天,取值1~31第四个*表示第几月,取值1~12第五个*表示一周中的第几天,取值0~7,其中0 阅读全文
posted @ 2019-03-23 12:18 后知后觉~ 阅读(297) 评论(0) 推荐(0)
摘要:先注册一个账号,注册地址:https://github.com/ 记住地址 下载git本地客户端,下载地址:https://git-scm.com/download/win 一路next傻瓜安装,加入环境变量 新建一个文件夹,运行cmd,输入git,出现以下内容证明安装成功 1.建仓:git ini 阅读全文
posted @ 2019-03-23 12:16 后知后觉~ 阅读(274) 评论(0) 推荐(0)
摘要:下载地址:https://sourceforge.net/projects/ngrinder/files/ ngrinder工作原理:这里的controller就是ngrinder平台 部署(以windows为例): 把下载下来的ngrinder-controller.war重命名为ngrinder 阅读全文
posted @ 2019-03-23 12:13 后知后觉~ 阅读(463) 评论(0) 推荐(0)
摘要:如果用生成jtl文件再分析结果的方式的话,每一次请求就会往jtl里面写一条数据,在进行长时间的稳定性测试的时候,特别是当TPS很高的时候,写入的数据会非常的大,这个时候等稳定性测试完成,再对jtl进行分析,会无法分析,如果要强制进行分析,造成的最后结果是内存泄漏,即无法分析,所以需要通过其他途径来保 阅读全文
posted @ 2019-03-23 12:13 后知后觉~ 阅读(562) 评论(0) 推荐(0)
摘要:工作步骤: 1、开发提交代码SVN/Git 2、代码编译、打war包 3、上传war包到服务器 4、重启web服务器 5、开始测试/自动化测试 6、发测试结果 Jenkins工作: 1、开发提交代码Git 2、Jenkins拉取代码,自动化编译,打包 -- 插件 3、Jenkins自动上传war包 阅读全文
posted @ 2019-03-23 12:12 后知后觉~ 阅读(262) 评论(0) 推荐(0)
摘要:在liunx压力机进行压测的时候,可以在widows下开一个jmeter,只进行监控用,不产生压力,监控效果和dstat差不多 jmeter安装客户端插件 把工具放到服务端任意目录并解压,我这里放到了server目录下 windows下bat,liunx下sh 启动一下 jmeter创建一个空的ht 阅读全文
posted @ 2019-03-23 12:10 后知后觉~ 阅读(275) 评论(0) 推荐(0)
摘要:Linux 中模拟延时和丢包的实现 使用ifconfig命令查看网卡 Linux 中使用 tc 进行流量管理。具体命令的使用参考 tc 的 man 手册,这里简单记录一下使用 tc 模拟延时和丢包的命令。 ping出来的最小单位为1毫秒,在执行压测之前,最好用压力机ping一下服务器,如果延迟很高, 阅读全文
posted @ 2019-03-23 12:09 后知后觉~ 阅读(379) 评论(0) 推荐(0)
摘要:1、项目具体需求,及业务场景:关注真实用户会是怎样的一个业务场景,确定用户的用户习惯。 2、指标:响应时间在多少以内,并发数多少,tps多少,总tps多少,稳定性交易总量多少,事务成功率,交易波动范围,稳定运行时长,资源利用率,测哪些交易,哪些接口,测试哪些场景。 3、环境:生产环境服务器数量,测试 阅读全文
posted @ 2019-03-23 12:08 后知后觉~ 阅读(483) 评论(0) 推荐(0)
摘要:性能瓶颈定位整体思路,从前到后,从表象到内部 1,首先排除压力机的性能情况,包括cpu、内存 2,应用服务器的硬件指标,cpu,内存,网络IO(ethtool eth0),磁盘IO,如果发现某台机器的这四项中的任何一项到达瓶颈,那么这台机器在这一方面就到达瓶颈了 3,其他服务器,比如数据库服务器,依 阅读全文
posted @ 2019-03-23 12:07 后知后觉~ 阅读(257) 评论(0) 推荐(0)
摘要:mysql结构简介 1,慢查询 查看某个变量的值,一般是看配置:show variables like '%slow%'; 查看当前某个参数的状态值,一般是动态的,而且是在命令行下查看:show global status like '%long_query%'; 使用配置查看:具体配置在上上篇里面 阅读全文
posted @ 2019-03-23 12:06 后知后觉~ 阅读(306) 评论(0) 推荐(0)
摘要:联合索引:一个索引同时作用于多个字段 联合索引的最左前缀: A、B、C3个字段--联合索引 这个时候,可以使用的查询条件有:A、A+B、A+C、A+B+C,唯独不能使用B+C,即最左侧那个字段必须匹配到 联合索引最左前缀如果匹配不到,会造成索引失效,对性能影响非常大,所以联合索引的顺序很重要 看一下 阅读全文
posted @ 2019-03-23 12:03 后知后觉~ 阅读(218) 评论(0) 推荐(0)
摘要:性能测试是基于大量数据的,而进行性能测试之前肯定没那么多数据,所以就要自己准备数据 数据构造方法: 1.业务接口 -- 适合数据表关系复杂 -- 优点:数据完整性比较好2.存储过程 -- 适合表数量少,简单 -- 优点:速度最快3.脚本导入 -- 适合数据逻辑复杂 -- 自由度比较高4.数据量级 - 阅读全文
posted @ 2019-03-23 12:02 后知后觉~ 阅读(415) 评论(0) 推荐(0)
摘要:MYSQL 慢查询使用方法MYSQL慢查询介绍分析MySQL语句查询性能的问题时候,可以在MySQL记录中查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”。MYSQL自带的慢查询分析工具mysqldumpslow可对慢查询日志进行分析:主要功能是, 统计sql的执行信息,其中 阅读全文
posted @ 2019-03-23 12:02 后知后觉~ 阅读(349) 评论(0) 推荐(0)
摘要:使用Jprofiler监控分析案例 一、cpu负载过高:http://localhost:8080/PerfTeach/CpuTopServlet?id=1 cpu消耗高的可能原因1、使用了复杂的算法,比如加密、解密2、压缩、解压、序列化等操作3、代码bug,比如死循环 dstat监控起来,先看一下 阅读全文
posted @ 2019-03-23 12:01 后知后觉~ 阅读(494) 评论(0) 推荐(0)
摘要:Jprofiler是一个重量级的工具,需要分别在服务器和windows都装客户端,会损耗性能,用于发现问题后排查问题,而不是常规的监控 JPROFILER工具下载地址:http://www.ej-technologies.com/download/jprofiler/fileslinux下安装:rp 阅读全文
posted @ 2019-03-23 12:00 后知后觉~ 阅读(258) 评论(0) 推荐(0)
摘要:一、线程死锁 线程死锁就是有两个以上的线程,一个线程锁住了资源A,又想去锁定资源B,另外一个线程锁定了资源B,又想去锁定资源A,两个线程都想去得到对方的资源,而又不愿释放自己的资源从而造成一种互相等待,无法执行的情况 接口:http://localhost:8080/PerfTeach/DeadSe 阅读全文
posted @ 2019-03-23 11:55 后知后觉~ 阅读(460) 评论(0) 推荐(0)
摘要:堆内存溢出: 此种溢出,加内存只能缓解问题,不能根除问题,需优化代码堆内存中存在大量对象,这些对象都有被引用,当所有对象占用空间达到堆内存的最大值,就会出现内存溢出OutOfMemory:Java heap space 永久代溢出 如果发生,则是在初始化的时候,空间太小,解决办法,扩大空间类的一些信 阅读全文
posted @ 2019-03-23 11:51 后知后觉~ 阅读(268) 评论(0) 推荐(0)
摘要:垃圾回收-GC 三个问题 哪些内存需要回收? 什么时候回收? 如何回收? YoungGC和FullGC: 新生代引发的GC叫YoungGC 老年代引发的GC叫FullGC FullGC会引起整个Jvm的用户线程暂停,待垃圾回收完毕后,才继续运行 引用的定义:如果reference类型的数据中存储的数 阅读全文
posted @ 2019-03-23 11:50 后知后觉~ 阅读(258) 评论(0) 推荐(0)
摘要:Java内存管理机制 Java采用了自动管理内存的方式Java程序是运行在Jvm之中的Java的跨平台的基于Jvm的跨平台特性内存的分配和对象的创建是在Jvm中用户可以通过一系列参数来配置Jvm Jvm运行时区域 做性能测试经常接触到的三个地方:方法区、虚拟机栈、堆 jvm主要内存结构(简化版): 阅读全文
posted @ 2019-03-23 11:49 后知后觉~ 阅读(243) 评论(0) 推荐(0)
摘要:1.top命令top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 2 阅读全文
posted @ 2019-03-23 11:48 后知后觉~ 阅读(761) 评论(0) 推荐(0)
摘要:线程的五种状态* 新建:new* 运行:runnable* 等待:waitting(无限期等待),timed waitting(限期等待)* 阻塞:blocked* 结束:terminated 线程的两种监控方法一,jvisualvm,图形界面的方式监控之前先对jvm加监控参数,在tomcat的bi 阅读全文
posted @ 2019-03-23 11:21 后知后觉~ 阅读(323) 评论(0) 推荐(0)
摘要:一、综合性的监控工具:vmstat vmstat命令综合了CPU、进程、内存、磁盘IO等信息,后面一般跟一个数字,代表多长时间刷新一次(秒)命令:vmstat 1 swap: si:SwapInput,从内存往磁盘(swap空间)写数据 so:SwapOutput,内存从磁盘(swap空间)读数据 阅读全文
posted @ 2019-03-23 11:20 后知后觉~ 阅读(302) 评论(0) 推荐(0)
摘要:测试脚本编写 新建一个folder命名为lib,用于存放依赖包 把以下jar全部拷进lib下,并build path 找开发要 真正要测试的以jar包形式存在的代码的类, 打开看一下 放到lib并build 所以说,要测试Dubbo框架下的接口,lib下要导入Dubbo框架的jar,还有需要测试的接 阅读全文
posted @ 2019-03-23 11:19 后知后觉~ 阅读(263) 评论(0) 推荐(0)
摘要:性能监控是性能测试过程中非常重要的一个环节,当在压测过程中出现性能瓶颈时,需要综合详细的监控数据对问题进行分析。整个系统架构中的每一个环节都需要做监控(压力机、网络、各中间件、各服务器硬件资源等)。性能监控做好了,就能帮助你快速的定位问题,找到系统的性能瓶颈。 操作系统级别监控 cpu监控 Top命 阅读全文
posted @ 2019-03-23 11:19 后知后觉~ 阅读(246) 评论(0) 推荐(0)
摘要:Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。 Dubbo是框架,并不是像http那种传输协议 传统系统间通信方式: 系统A和系统B之间耦合性非常大,系统A配置文件里面基本会把系统B的所有接口写进去, 阅读全文
posted @ 2019-03-23 11:18 后知后觉~ 阅读(183) 评论(0) 推荐(0)
摘要:Zookeeper部署 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 zookeeper的配置 阅读全文
posted @ 2019-03-23 11:18 后知后觉~ 阅读(265) 评论(0) 推荐(0)
摘要:系统中使用了缓存+数据库,通用读取数据规则1、先从缓存读数据,如果有,直接返回数据;2、如果没有,去数据库中读,然后再插入到缓存中,再返回数据 Mysql+Redis+Tomcat环境整合 1、修改PerfTeach/WEB-INF/classes/redis-config.properties2、 阅读全文
posted @ 2019-03-23 11:17 后知后觉~ 阅读(549) 评论(0) 推荐(0)
摘要:由于redis服务端是单线程实现的,因此只能占用CPU的单核,为了充分利用CPU资源,可以在一台服务器上同时启动多个redis-server实例 首先删除之前的rdb、aof文件 注释掉3个save appendonly改为no 配置方法: 每个实例创建一个conf文件 修改每个conf文件中的端口 阅读全文
posted @ 2019-03-23 11:16 后知后觉~ 阅读(302) 评论(0) 推荐(0)
摘要:常用命令dbsize:查看redis中的kv数量 keys *:查看redis中所有的keyset key_1 v_1:新增一个key_1,包含v_1get key_1:查看key_1中的内容del key_1:删除key_1 quit:退出flushdb:清空redis中的数据save:将当前re 阅读全文
posted @ 2019-03-23 11:16 后知后觉~ 阅读(746) 评论(0) 推荐(0)
摘要:redis:非关系型数据库,内存数据库,no-sql典型, 数据存放在内存中,一断电或者关闭就没有了 mysql、oracle、sqlserver···是关系型数据库,数据存放在磁盘中 一个Redis的每秒钟的读写大概在5万tps左右,当使用多个Redis布置集群后,性能相当强悍 redis安装方法 阅读全文
posted @ 2019-03-23 11:15 后知后觉~ 阅读(299) 评论(0) 推荐(0)
摘要:在正常工作中,mysql应该部署到 一台独立的服务器上,不与tomcat共用服务器,由于成本原因,现部署到一起 为避免出错引起麻烦,先备份: 一:环境清理:先卸载系统自带的mysql 停止mysql:service mysql stop 1、查找以前是否装有mysql:命令:rpm -qa|grep 阅读全文
posted @ 2019-03-23 11:14 后知后觉~ 阅读(164) 评论(0) 推荐(0)
摘要:由于单纯用tomcat只能通过ip+端口号的形式访问,这样只能访问一个tomcat,而真实项目中又不可能只用一两个tomcat,所以就需要Nginx来进行分配访问请求, Nginx本身性能非常好,据官网介绍,每秒支持50Wtps Nginx只是负责转发请求,不处理逻辑, Nginx还有一个做一作用, 阅读全文
posted @ 2019-03-23 11:14 后知后觉~ 阅读(444) 评论(0) 推荐(0)
摘要:一个tomcat性能有限,所以需要部署等多个tomcat 单实例部署与windows下类似,项目包放到webapp目录下,启动bin目录下的startup.sh即可启动命令:./startup.sh启动并实时监控日志:./startup.sh & tail -f ../logs/catalina.o 阅读全文
posted @ 2019-03-23 11:13 后知后觉~ 阅读(315) 评论(0) 推荐(0)
摘要:一:参数优化 1,控制台取样间隔的设置,在jmeter/bin/jmeter.properties文件中修改 summariser.interval=10,默认为30s,最低可修改为6s 2,Jvm参数优化 bin目录下,vi jmeter,修改HEAP的size大小,默认512M,可以设置成102 阅读全文
posted @ 2019-03-23 11:12 后知后觉~ 阅读(890) 评论(0) 推荐(0)
摘要:一台压力机产生得压力是有限的,尤其是jmeter,java本来性能就不是很好,并发特别多的时候,jmeter的性能会急剧下降,正常的接口,若单台压力机,超过1000并发以后,jmeter的性能就不怎么行了 所以需要多个压力机,即多个机器部署jmeter产生压力 分布式测试步骤:系统HOSTS文件中进 阅读全文
posted @ 2019-03-23 11:11 后知后觉~ 阅读(223) 评论(0) 推荐(0)
摘要:控制台日志,只能看出整体的数据,若只是测单接口,这个最好用,但若有多个接口时,无法分别展示,所以需要换另外一种报表 四种方式来获取Jmeter的结果报表 一、在GUI模式下跑Jmeter的脚本,用tps插件实时展示图表 二、在命令行模式下跑Jmeter的脚本,生成的jtl文件,在GUI界面的聚合报告 阅读全文
posted @ 2019-03-23 11:10 后知后觉~ 阅读(400) 评论(0) 推荐(0)
摘要:修改环境变量后就不用每次手动输入路径,省时省事,减少命令长度和出错率 按Ctrl+L可进行翻页,翻页到最后一行,此处有java的环境变量 添加jmeter的目录和bin目录 此时,虽修改成功,但是并未生效,需要source一下 在任何目录下输入jmeter有GUI那个提示即说明配置成功 打印变量 此 阅读全文
posted @ 2019-03-23 11:09 后知后觉~ 阅读(171) 评论(0) 推荐(0)
摘要:一、先装一个linux虚拟机 VBox+centos1、先下载Linux镜像文件的ovf或者OVA文件2、打开vbox,点击菜单栏“管理”-“导入虚拟电脑3、选择解压路径中的ovf或者OVA文件,点击下一步 4、点击“导入”,等待完成5、导入成功后,选择新导入的vm系统,点击启动,等待系统启动完成6 阅读全文
posted @ 2019-03-23 11:08 后知后觉~ 阅读(205) 评论(0) 推荐(0)
摘要:单机 准备工作: 1、压力机安装并配置好JDK,输入java和javac验证环境变量 2、上传jmeter到liunx下: 准备好jmeter的压缩包 在第三方工具中对linux文件上传下载(需先装好rz/sz工具),以liunx系统本身出发:sz下载/发送(send) rz上传/接收(receiv 阅读全文
posted @ 2019-03-23 11:08 后知后觉~ 阅读(190) 评论(0) 推荐(0)
摘要:常用的linux命令: 目录类/ 根目录. 当前目录.. 上级目录cd / 进入根目录cd .. 进入上级目录ls 查看当前目录下的所有文件ll 查看当前目录下所有文件的详细信息pwd 显示当前目录的全路径 文件类cp a.txt b.txt 将当前目录下的a.txt复制一份并命名为b.txt cp 阅读全文
posted @ 2019-03-23 11:07 后知后觉~ 阅读(154) 评论(0) 推荐(0)
摘要:如项目中的ip、端口号之类的,都可以在此代码中定义 public Arguments getDefaultParameters() {// TODO Auto-generated method stubreturn null;} 此处注册两个参数到jmeter的变量池: p_name,默认值设为ab 阅读全文
posted @ 2019-03-23 11:06 后知后觉~ 阅读(270) 评论(0) 推荐(0)
摘要:使用Java编写JDBC脚本对Mysql进行增删改查等操作的性能测试 使用Jmeter提供的脚本框架依赖的jar包(分别在jmeter目录下的lib和ext目录下) ApacheJMeter_core.jar ApacheJMeter_java.jar avalon-framework-4.1.4. 阅读全文
posted @ 2019-03-23 11:05 后知后觉~ 阅读(208) 评论(0) 推荐(0)
摘要:一、webService 1、添加http post请求2、添加header:Conent-type:text/xml Post请求的body中填写<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 阅读全文
posted @ 2019-03-07 20:26 后知后觉~ 阅读(303) 评论(0) 推荐(0)
摘要:一、使用 BeanShell使用方式一 BeanShell面板上写脚本 // 从vars中获取用户定义的参数,并转换为int类型 int p_skuId = Integer.parseInt(vars.get("p_skuId")); // 进行逻辑判断,如果是偶数,保存一个参数p_opt,值为“R 阅读全文
posted @ 2019-03-07 20:25 后知后觉~ 阅读(448) 评论(0) 推荐(0)
摘要:一、上传下载 上传: 1,POST请求,勾选 use …for post 2,同请求一起发送文件里,填写文件名称,参数名称 3,MIME类型: application/octet-stream(非必须) http://localhost:8080/PerfTeach/UploadServlet 下载 阅读全文
posted @ 2019-03-07 20:23 后知后觉~ 阅读(410) 评论(0) 推荐(0)
摘要:* BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; * BeanShell是一种松散类型的脚本语言(这点和JS类似); * BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简 阅读全文
posted @ 2019-03-07 20:23 后知后觉~ 阅读(392) 评论(0) 推荐(0)
摘要:一、http cookie管理器 可以在浏览器中抓取到cookie信息,然后通过http cookie管理器为http请求添加cookie信息 添加cookie管理器后,Jmeter可以自动处理cookie 登录页面: http://localhost:8080/PerfTeach/login.js 阅读全文
posted @ 2019-03-07 20:22 后知后觉~ 阅读(914) 评论(0) 推荐(0)
摘要:如,从get返回的json中提取stock的值 作为post的请求参数 1、JSON提取器 专门对json数据进行提取的后置处理器 Debug Sampler:记录之前的请求的所有参数及数据 2、正则表达式提取器 可以通过正则表达式来获取http请求返回的数据 引用名称:匹配后的结果,保存到一个参数 阅读全文
posted @ 2019-03-07 20:08 后知后觉~ 阅读(249) 评论(0) 推荐(0)
摘要:常用的逻辑控制器 1,循环控制器:可以设置该控制器内的sampler执行的次数,循环次数与线程的循环次数各自独立 2,if控制器:根据判断条件决定是否执行该控制器内的请求,如果是字符串比较条件,参数和字符串都需要加引号,如”{param}” == “test” 3,随机控制器:随机执行该控制器内的一 阅读全文
posted @ 2019-03-07 20:07 后知后觉~ 阅读(250) 评论(0) 推荐(0)
摘要:一、参数化 1、随机数 2、随机字符串 二、文件 1、文本,csv_read (此方式同一个并发,永远只取一行数据,同一个并发,永远只使用同一个账户,如购物车下单) 2、CSV Data Set Config 添加CSV Data Set Config :线程组_添加_配置元件_CSV Data S 阅读全文
posted @ 2019-03-07 20:06 后知后觉~ 阅读(233) 评论(0) 推荐(0)
摘要:一、图形化插件的使用 使用Jmeter插件可以更直观的查看tps和响应时间 插件官网: http://jmeter-plugins.org/downloads/all 第一种方法,找到需要的插件下载jar包放到Jmeter的lib/ext目录下 第二种方法,使用Jmeter插件管理器,可以自动下载并 阅读全文
posted @ 2019-03-07 20:06 后知后觉~ 阅读(750) 评论(0) 推荐(0)
摘要:JMeter,一个100%的纯Java桌面应用,由Apache组织的开放源代码项目,它是功能和性能测试的工具。具有高可扩展性、支持Web(HTTP/HTTPS)、SOAP、FTP、JAVA等多种协议的特点。 1、本机配置好Java环境变量 2、官网下载压缩包,在任意目录下解压 3、进入到Jmeter 阅读全文
posted @ 2019-03-07 20:05 后知后觉~ 阅读(335) 评论(0) 推荐(0)
摘要:Nginx官方模块 --with-http_stub_status_module:Nginx的客户端状态,用于监控连接的信息,配置语法如下:配置语法:stub_status;默认状态:-配置方法:server,location(即,需配置在server或者location下) 检查配置语法是否正确: 阅读全文
posted @ 2019-03-07 20:01 后知后觉~ 阅读(443) 评论(0) 推荐(0)
摘要:1、Nginx日志类型 error.log:记录Nginx处理http请求的错误的状态,以及Nginx服务本身服务运行的错误的状态 access_log:记录通过Nginx的http请求的访问状态,用于对每一次访问的请求和客户进行的交互以及对行为的一些分析 实现方法:log_format error 阅读全文
posted @ 2019-03-07 20:00 后知后觉~ 阅读(451) 评论(0) 推荐(0)
摘要:HTTP请求 请求百度看一下:curl http://www.baidu.com 这样的格式不能直观的查看和分析,加个-v来展现出每次请求的具体的信息内容,然后把返回的信息重定向到一个空设备上面,便于查看 curl -v http://www.baidu.com >/dev/null 阅读全文
posted @ 2019-03-07 19:59 后知后觉~ 阅读(194) 评论(0) 推荐(0)
摘要:一、安装目录 命令:rpm -ql nginx 二、编译参数 命令:nginx -V 三、Nginx基本配置语法 修改主配置文件 当Nginx读配置文件读到include /etc/nginx/conf.d/*.conf;这一行的时候,会到/etc/nginx/conf.d下面去找所有的.conf结 阅读全文
posted @ 2019-03-07 19:57 后知后觉~ 阅读(333) 评论(0) 推荐(0)
摘要:Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务 常见的HTTP服务: HTTPD--Apache基金会 IIIS--微软 GWS--Google(不对外开放) Nginx优势: 一、IO多路复用epoll:类似于电路中的串联和并联的道理,这里是并联,即多线程 IO多路复用:多个描述符的 阅读全文
posted @ 2019-03-07 19:56 后知后觉~ 阅读(173) 评论(0) 推荐(0)
摘要:Nginx快速搭建 Mainline version 开发版:具有最新功能的版本,用于测试、研究、学习,不用于企业生成环境 Stable version 稳定版:官方认可,且通过测试的 Legacy version 历史版本 Nginx下载官网:http://nginx.org/en/downloa 阅读全文
posted @ 2019-03-07 19:56 后知后觉~ 阅读(253) 评论(0) 推荐(0)
摘要:环境确认: 1、确认系统网络可用 2、确认yum源可用 3、确认关闭iptabkes规则 查看是否有iptabkes规则:iptables -L 如果有的话:iptables -F关闭 保险起见也看看nat里面有没有: iptables -t nat -L iptables -t nat -F 4、 阅读全文
posted @ 2019-03-07 19:55 后知后觉~ 阅读(216) 评论(0) 推荐(0)
摘要:# 先安装ruamel.yaml模块写入配置文件: import os# 先安装ruamel.yaml模块from ruamel import yaml# 将字典写入到yamldict = { 'host1': '123', 'host2': '456', 'host3': '789', 'host4': '147', 'h... 阅读全文
posted @ 2019-03-07 19:53 后知后觉~ 阅读(689) 评论(0) 推荐(0)
摘要:import pymssql class SqlServer: def __init__(self,host,user,pwd,db): self.host = host #主机名 self.user = user #用户名 self.pwd = pwd #密码 self.db = db #数据库名 阅读全文
posted @ 2019-03-07 19:52 后知后觉~ 阅读(380) 评论(0) 推荐(0)
摘要:# MD5加密 # 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import hashlibdef MD5(str): # 创建md5对象 hl = hashlib.md5() # 此处必须声明encode # 若写法为hl.update(str) 报错为: Unicode-objects must be encoded... 阅读全文
posted @ 2019-03-07 19:51 后知后觉~ 阅读(1196) 评论(0) 推荐(0)
摘要:import requestsimport unittestclass TestQQ(unittest.TestCase): '''测试QQ号接口''' # 此注释将展示到测试报告的测试组类 def test_qq(self): '''测试QQ号码,正确的appkey''' # 此注释将展示到测试报 阅读全文
posted @ 2019-03-07 19:50 后知后觉~ 阅读(413) 评论(0) 推荐(0)
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/5/28 18:51# @Author : StalloneYang# @File : mysql_test.py# @desc:# 连接数据库import pymysql.curs 阅读全文
posted @ 2019-03-07 19:50 后知后觉~ 阅读(209) 评论(0) 推荐(0)
摘要:文件下载类型: Content-Type: octets/stream 一般为文件类型: 阅读全文
posted @ 2019-03-07 19:37 后知后觉~ 阅读(365) 评论(0) 推荐(0)
摘要:# 以禅道为例: 一、创建一个类,类里面写一个登录方法: 二、上传图片接口: 三、编写、执行测试用例: 阅读全文
posted @ 2019-03-07 19:37 后知后觉~ 阅读(406) 评论(0) 推荐(0)
摘要:# 添加多个附件参数化files = [("1.png", "1.png") ("2.png", "2.png") ]def addFiles(files, n=1): file = [] for i in list(range(n)): a =("files[]", (files[i][1], o 阅读全文
posted @ 2019-03-07 19:37 后知后觉~ 阅读(391) 评论(0) 推荐(0)
摘要:# 类和方法class Count(): def __init__(self, aaa, bbb): # 初始化 # 可以放公共的参数 print('实例化的时候,会执行init的内容') self.a = aaa self.b = bbb # 加了self是全局变量,没加self是局部变量 def 阅读全文
posted @ 2019-03-07 19:36 后知后觉~ 阅读(250) 评论(0) 推荐(0)
摘要:# 函数a = [1, 3, 6, 4, 85, 32, 46]print(sum(a)) # sum,求和函数def add(): a = 1, b = 2, return a + bprint(add())def add(a, b): # 都必填 return a + bprint(add()) 阅读全文
posted @ 2019-03-07 19:35 后知后觉~ 阅读(236) 评论(0) 推荐(0)
摘要:# coding:utf-8import requestsimport refrom bs4 import BeautifulSoup# s = requests.session() # 全局的sdef get_token(s): ''' fuction: 获取token args: s 参数 -》s = requests.session() :return anti_... 阅读全文
posted @ 2019-03-07 19:35 后知后觉~ 阅读(343) 评论(0) 推荐(0)
摘要:安装:beautifulsoup4 from bs4 import BeautifulSoupyoyo = open('yoyo.html', 'r') # 以读的方式打开“yoyo.html”文件# print(yoyo.read()) # 此方法打开的是一个字符串,内容没有层级结构# yoyo. 阅读全文
posted @ 2019-03-07 19:34 后知后觉~ 阅读(302) 评论(0) 推荐(0)
摘要:# 爬图片# 目标网站:http://699pic.com/sousuo-218808-13-1.htmlimport requestsfrom bs4 import BeautifulSoupimport osr = requests.get('http://699pic.com/sousuo-218808-13-1.html')# r.content # 返回的是字节流soup = Bea... 阅读全文
posted @ 2019-03-07 19:34 后知后觉~ 阅读(330) 评论(0) 推荐(0)
摘要:解决问题:每次密码都是变化的,无法通过账号密码登录(总不能每次去fiddler复制吧????)解决思路:1.先用selenium调用浏览器(不会selenium的自己想办法了),2.登录后从浏览器里面抓取cookies3.把cookies传给s4.这样就成功成功了如果登录有验证码怎么办?比如:博客园 阅读全文
posted @ 2019-03-07 19:31 后知后觉~ 阅读(295) 评论(0) 推荐(0)
摘要:import unittestimport requestsdef add(a, b): print('前置条件!!!!!:如登录') return a + bclass TestAAA(unittest.TestCase):# 一次性的前置条件, 运行优先级:1 @classmethod # 调用 阅读全文
posted @ 2019-03-07 19:31 后知后觉~ 阅读(297) 评论(0) 推荐(0)
摘要:连接Linux服务器操作Oracle数据库 由于项目已经上线,现场的数据库服务器不允许直接用Oracle的客户端plsqldev.exe来连接,只能通过Linux服务器的命令来操作。 以下是用SecureCRT 5.1客户端连接Linux服务器来操作Oracle数据库: 1.连接到Linux服务器( 阅读全文
posted @ 2019-03-06 14:07 后知后觉~ 阅读(17410) 评论(0) 推荐(0)
摘要:''' 阅读全文
posted @ 2019-03-06 13:42 后知后觉~ 阅读(871) 评论(0) 推荐(0)
摘要:# 1、requests里面自带解析器转字典 print(r.json()) print(type(r.json())) # 取出json中的'result_sk_temp'字段 # {"resultcode":"200","reason":"查询成功","result":{"sk":{"temp":"28","wind_direction":"东南风","wind_st 阅读全文
posted @ 2019-03-06 13:41 后知后觉~ 阅读(494) 评论(0) 推荐(0)
摘要:# url编码与解码 from urllib import parse url = 'http://zzk.cnblogs.com/s/blogpost?Keywords=中文' a = '中文' b = parse.quote(a) # 转urlencode编码 print(b) print(parse.quote(b)) # 转第二次(若有需求) # 解码 c = '%E4%B... 阅读全文
posted @ 2019-03-06 13:41 后知后觉~ 阅读(266) 评论(0) 推荐(0)
摘要:import requests url = "http://v.juhe.cn/weather/index" 阅读全文
posted @ 2019-03-06 13:40 后知后觉~ 阅读(383) 评论(0) 推荐(0)
摘要:# 字典a = None # None = nullb = False # booleanc, d = 12, 10.6 # int floate = 'asdd' # strf = ['s', 'e'] # list,数组,可增删改查g = ('a', 's', 'f') # 元组(tuple), 阅读全文
posted @ 2019-03-06 13:39 后知后觉~ 阅读(302) 评论(0) 推荐(0)
摘要:s = requests.session() # 此方法只适用于网站是cookies这种,网站是token的没用 # 这样做的好处就是可以保存cookies并保持会话,不用每次都去获取、传参 Token请求: Cookies请求: 有保持登录的cookies: 一:加入指定的cookie 把s所带的 阅读全文
posted @ 2019-03-06 13:38 后知后觉~ 阅读(850) 评论(0) 推荐(0)
摘要:allow_redirects=False 不重定向 # 获取重定向后的地址loc = r.headers # 相对地址host = 'https://i.cnblogs.com/'url = host+'EditPosts.aspx?opt=1' loc = r.headers['Location 阅读全文
posted @ 2019-03-06 13:38 后知后觉~ 阅读(421) 评论(0) 推荐(0)
摘要:获取登录的cookies:loginCookies = r.cookies 把获取到的cookies传入请求:cookies=loginCookies 此方法需每一次都调用登录方法,并且每一次发送请求都需要传Cookies,不建议使用 阅读全文
posted @ 2019-03-06 13:37 后知后觉~ 阅读(1274) 评论(0) 推荐(0)
摘要:对于不可重复参数,可以用时间戳,防重复import timetitle = '这是我的标题:%s'%str(int(time.time()))print(title) 转化成时间格式 t = time.strftime('%Y_%m_%d_%H_%M_%S')print(t) 阅读全文
posted @ 2019-03-06 13:35 后知后觉~ 阅读(436) 评论(0) 推荐(0)
摘要:乱码: 以content字节流输出,解码成utf-8: print(r.encoding) # 查看返回的编码格式: 去掉Warning警告: import urllib3 urllib3.disable_warnings() 错误处理: 403:拒绝或者禁止访问:须伪装头部(头部详情根据接口文档) 阅读全文
posted @ 2019-03-06 13:34 后知后觉~ 阅读(448) 评论(0) 推荐(0)
摘要:get请求: 1、get请求(无参数): 2、get请求(带参数): 接口地址:http://japi.juhe.cn/qqevaluate/qq 返回格式:json 请求方式:get post 请求示例:http://japi.juhe.cn/qqevaluate/qq?key=您申请的appKe 阅读全文
posted @ 2019-03-06 13:33 后知后觉~ 阅读(1008) 评论(0) 推荐(1)
摘要:HTTPS: get: url = 'https://www.juhe.cn/docs/api/id/39' r = requests.get(url) #发送get请求 print(r.status_code) #打印状态码 print(r.headers) #打印返回的报头(头部) print( 阅读全文
posted @ 2019-03-06 13:33 后知后觉~ 阅读(529) 评论(0) 推荐(0)
摘要:url = '接口地址' r = requests.get(url) # 发送get请求 print(r.status_code) # 打印状态码,若有重定向,返回的是重定向之后的代码 print(r.headers) # 打印返回的报头(头部) print(r.text) # 查看返回结果的文本形 阅读全文
posted @ 2019-03-06 13:32 后知后觉~ 阅读(306) 评论(0) 推荐(0)
摘要:1、 http简介:http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议 2、 url详解:百度搜索的一个url地址:https://www.baidu.com/s?wd=%E4%B8%8A%E6%B5%B7%E6%82%A0%E6%82%A0%E5%8D%9A%E5%AE% 阅读全文
posted @ 2019-03-06 13:30 后知后觉~ 阅读(465) 评论(0) 推荐(0)
摘要:转至向前走 前言 在使用fiddler抓包的时候,查看请求类型get和post每次只有点开该请求,在Inspectors才能查看get和post请求,不太方便。于是可以在会话框直接添加请求方式。 一、添加会话框菜单 1.点会话框菜单(箭头位置),右键弹出选项菜单 2.选择Customize colu 阅读全文
posted @ 2019-03-06 10:38 后知后觉~ 阅读(145) 评论(0) 推荐(0)
摘要:转至向前走 前言 在点Actions时候出现Export Failed:The root certificate could not be located.最近有很多小伙伴在fiddler导出证书的时候,遇到无法导出的问题,收集了几种解决办法,供参考。 一、证书无法导出 1.在点Actions时候出 阅读全文
posted @ 2019-03-06 10:38 后知后觉~ 阅读(240) 评论(0) 推荐(0)
摘要:转至向前走 前言 为什么要保存会话呢?举个很简单的场景,你在上海测试某个功能接口的时候,发现了一个BUG,而开发这个接口的开发人员是北京的一家合作公司。你这时候给对方开发提bug, 如何显得专业一点,能让对方心服口服的接受这个BUG呢?如果只是截图的话,不是很方便,因为要截好几个地方还描述不清楚,不 阅读全文
posted @ 2019-03-06 10:37 后知后觉~ 阅读(738) 评论(0) 推荐(0)
摘要:转至向前走 前言 先给大家讲一则小故事,在我们很小的时候是没有手机的,那时候跟女神聊天都靠小纸条。某屌丝A男对隔壁小王的隔壁女神C倾慕已久,于是天天小纸条骚扰,无奈中间隔着一个小王,这样小王就负责传小纸条了。有一天小王忍不住偷偷打开A男表白的纸条,把里面内容改了下,改成了:我的同桌小王喜欢你。最后女 阅读全文
posted @ 2019-03-06 10:30 后知后觉~ 阅读(645) 评论(0) 推荐(0)
摘要:转至向前走 前言上一篇讲过get请求的参数都在url里,post的请求相对于get请求多了个body部分,本篇就详细讲解下body部分参数的几种形式。 一、body数据类型 常见的post提交数据类型有四种: 1.第一种:application/json:这是最常见的json格式,也是非常友好的深受 阅读全文
posted @ 2019-03-06 10:29 后知后觉~ 阅读(951) 评论(0) 推荐(0)
摘要:转至向前走 前言 上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行。有些get请求会带有参数,本篇详细介绍url地址格式。 一、url详解 1.url就是我们平常打开百度在地址栏输入的:https:www.baidu 阅读全文
posted @ 2019-03-06 10:28 后知后觉~ 阅读(263) 评论(0) 推荐(0)
摘要:转至向前走 前言 Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的。 对应没有接口测试文档的时候,可以直接抓完包后,copy请求参数,修改下就可以了。 一、Composer简介 点开右侧Composer区域,可以看到如下界面,就是测试接口 阅读全文
posted @ 2019-03-06 10:26 后知后觉~ 阅读(911) 评论(0) 推荐(0)
摘要:转至向前走 前言 本篇简单的介绍下fiddler界面的几块区域,以及各自区域到底是干什么用的,以便于各好的掌握这个工具 一、工具简介 1.第一块区域是设置菜单,这个前面2篇都有介绍 2.第二块区域是一些快捷菜单,可以点下快捷功能键 3.第三块左边是抓捕的请求会话列表,每一个请求就是一个会话 4.第四 阅读全文
posted @ 2019-03-06 10:09 后知后觉~ 阅读(491) 评论(0) 推荐(0)
摘要:转至向前走 前言 前面两篇关于Fiddler抓包的一些基本配置,配置完之后就可以抓到我们想要的数据了,接下来就是如何去分析这些数据。 本篇以博客园的请求为例,简单分析get与post数据有何不一样,以后也能分辨出哪些是get,哪些是post了。 一、get请求 1.打开fiddler工具,然后浏览器 阅读全文
posted @ 2019-03-06 10:08 后知后觉~ 阅读(285) 评论(0) 推荐(0)
摘要:转至向前走 前言 fiddler抓手机app的请求,估计大部分都会,但是如何只抓来自app的请求呢? 把来自pc的请求过滤掉,因为请求太多,这样会找不到重要的信息了。 环境准备: 1.电脑上已装fiddler 2.手机和电脑在同一局域网 一、设置 1.fiddler>Tools>Fiddler Op 阅读全文
posted @ 2019-03-06 10:07 后知后觉~ 阅读(3169) 评论(0) 推荐(0)
摘要:前言 fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。 一、网页不安全 1.用fiddler抓包时候,打开百度网页:https://www.baidu.com 2.提示:网页不安全 二、fiddler设置 1.打 阅读全文
posted @ 2019-03-06 10:06 后知后觉~ 阅读(333) 评论(0) 推荐(0)