jmeter压力测试php
前提场景的设置:单场景(单个接口进行压力测试一个请求)或混合场景(有业务流程的场景进行压力测试多个请求),压测时间通常在5--1515分组具体看需求。java
数据准备:数据量少和数据量大的状况下,测试的结果是不同的,在设计场景的时候是要考虑到这种状况的,要测试数据库中数据量大和数据量小的状况,若是是要测试数据量大的状况下,就要造数据了,造数据可使用jmeter,操做数据库来造数据,也可使用python链接数据库,批量的造数据。python
查看压测结果:tps每秒钟处理的请求数,每一个请求处理的响应时间,并发用户数。mysql
jmeter断言sql
用来验证结果是否正确,若是正确的话,就表明这个请求的返回是正确的,若是没有的话就表明这个请求的结果和咱们预期的不一致,这样咱们就能够通断言来检查返回结果,测试是否经过。数据库
jmeter数据库的操做小程序
1.导入jdbc的jar包,由于jmeter自己不能直接链接mysql,因此须要导入第三方的jar包,来链接mysql。直接在测试计划下面添加mysql的包,线程组--右键添加--配置元件数组
2.建立数据库链接配置,mysql的url、端口号、帐号、密码浏览器
3.写sql,执行sql服务器
4.查看结果
抓包工具备哪些:常见的抓包工具备fiddler,wireshark ,charles, HttpWatch, firebug 等
Charles的基本功能使用
Charles简介:charles是一款经常使用的截取网络抓包的工具,由于他是基于 java 开发的,因此跨平台,Mac、Linux、Window下都是可使用的,确保安装以前已经安装了JDK。Charles 经过将本身设置成系统的网络访问代理服务器,使得全部的网络访问请求都经过它来完成,从而实现了网络封包的截取和分析。
手机端使用charles进行抓包:
第一步,在charles里设置容许手机联网的权限;你须要把charles设置为容许的状态而且设置容许的端口号,这样手机端才能正常的接入;
在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口号(注意,端口不必定填写8888,也能够写别的端口,可是须要记住由于这里设置的容许接入的端口,手机端配置的时候须要用到),而且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。以下图;
查看当前电脑ip地址:能够直接用cmd ipconfig 进行查看地址。或者直接在Charles--help--Local IP Address 进行查看地址。(ip地址须要与手机配对)
能够任意打开一个浏览器输入一下地址进行验证,Charles会弹出提示。
第二步,把手机按照charles的IP和端口进行配置;(手机和电脑网络在同一个wifi)
在iPhone的 “设置”->“无线局域网“能够看到当前链接的wifi名,点击右边的详情键,进入到链接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,咱们将其切换成手动,而后填上Charles运行所在的电脑的IP,以及端口号填写你在charles的端口号
第三步,手机配对成功后,charles还会弹窗是否容许;
设置好以后,咱们打开iPhone上的任意须要网络通信的程序,就能够看到Charles弹出iPhone请求链接的确认菜单
如上图的弹窗,点击容许便可;此时已经配对成功,开始愉快的抓包吧;
python基础知识
Python特色:优雅,明确,简单易懂,第三方库比较多。
paython开发的应用:网络应用,包括网站、后台服务等等;平常须要的小工具,系统管理员须要的脚本任务等等;另外就是把其余语言开发的程序再包装起来,方便使用。
Python的缺点:第一个缺点就是运行速度慢,第二个缺点就是代码不能加密。若是要发布你的Python程序,实际上就是发布源代码。
python 的基础知识
python中有一如下几种数据类型:Numbers(数字),string()--字符串,Tuple(元组),list--数组或列表,sets(集合)
转义符 '\'天然字符串, 经过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并非换行。
Numbers(数字):int、float、bool、complex(复数),
string()--字符串:str用单引号(' ')或双引号(" ")括起来,同时使用反斜杠(\)转义特殊字符,
list(列表):列表是写在方括号之间、用逗号分隔开的元素列表,列表中元素的类型能够不相同。例如:a = ['him', 25, 100, 'her']
Tuple(元组):与列表相似,不一样之处在于元组的元素不能修改。元组写在小括号里,元素之间用逗号隔开。例如:a = (1991, 2014, 'physics', 'math')
sets(集合):是一个无序不重复元素的集。基本功能是进行成员关系测试和消除重复元素。可使用大括号 或者 set()函数建立set集合,注意:建立一个空集合必须用 set() 而不是 { },由于{ }是用来建立一个空字典,例如:student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
python注释:单行注释以#开头,多行注释用三个单引号(''')或者三个双引号(""")将注释括起来。
python算数运算符
python比较运算符
python赋值运算符
python位运算符
python逻辑运算符
条件判断:if语句
age = 20
if age > 18:
print('your age is', age)
备注:定义一个数值,判断当前给出的数值是否与定义的相同,相同就执行print语句。或者: if else
age = 15
if age > 18:
print("your age is", age)
else:
print("输出错误")
多重判断: if --elif--elseage = 3
if age>=18:
print("aaaa")
elif age>=10:
print("bbbb")
else:
peinr("ccccc")
备注:先执行if条件,经过就直接打印print,如不经过执行elif语句,经过就打印,不经过就在执行else语句。
python循环,有两种循环for和whlie
break:当即结束循环,无论循环有没有完成
continue:结束本次循环,继续进行下一次循环
whlie循环
while 判断条件:
statements
while循环,要带上计数器,若是使用continue,计数器不会累计,可能会产生死循环
for循环
登陆小程序
备注:for else语句能够总结成如下话。
若是我依次作完了全部的事情(for正常结束),我就去作其余事(执行else),若作到一半就停下来不作了(中途遇到break),我就不去作其余事了(不执行else)。只有循环完全部次数,才会执行 else 。break 能够阻止 else 语句块的执行。