当前位置: 首页 > news >正文

公司网站域名在哪里备案正规投资app平台

公司网站域名在哪里备案,正规投资app平台,天津建设工程协会网站,科技创新网站建设策划书作为一名开发工程师#xff0c;当我们接到需求的时候#xff0c;一般就是分析需要#xff0c;确定思路#xff0c;编码#xff0c;自测#xff0c;然后就可以让测试人员去测试了。在自测这一步#xff0c;作为开发人员#xff0c;很多时候就是测一下业务流程是否正确当我们接到需求的时候一般就是分析需要确定思路编码自测然后就可以让测试人员去测试了。在自测这一步作为开发人员很多时候就是测一下业务流程是否正确会不会有逻辑上的错误如果没有几乎就完事了。然后到了测试人员去测的时候很多时候测试人员也只是重复了一遍开发人员的步骤更多就是把测试用例扩大了而已特别是一些边界的用例。但是我们的接口在每秒10次请求没问题不代表在每秒1000次请求没问题当接口部署到线上当并发量增大的时候很多在测试阶段没出现的问题在线上就有可能出现了。 有的公司团队比较大可以请到好的测试人员来做各种测试但是对于小团队测试人员可能也不知道每次10次请求和每秒10000次请求的区别这时作为开发人员的我们在保证业务逻辑正确的情况下还要去做压力测试。 本篇介绍一个功能强大压力测试工具——JMeter。 JMeter是Apache下的一个顶级项目看看官方对它的介绍 The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions. 大概意思就是说JMeter是一个纯java写的开源软件用来测试可变行为和性能。起初它设计的目的是测试Web应用但是现在已经扩展到其它的测试。 JMeter可以支持测试的应用/服务/协议有很多Web (HTTP, HTTPS )、SOAP / REST Webservices、FTP、Database via JDBC、LDAP、Message-oriented middleware (MOM) via JMS、Mail - SMTP(S), POP3(S) and IMAP(S)、Native commands or shell scripts、TCP、Java Objects。反正就是一些服务端常用的东西都能测试就是了。 本篇介绍HTTP的压测。 一、下载 可以自行到官网找到下载链接或者使用下面的链接进行下载 http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-5.2.1.zip下载后直接解压目录结构如下 bin可执行脚本文件 docsJMeter提供的api的文档 extras额外的文件 libJMeter本身所依赖的jar包 licensesJMeter依赖的jar包的license printable_docsJMeter的介绍和使用手册 JMeter既提供了GUI界面方便用户使用也提供了命令行的方式让用户操作我们先在windows下使用JMeter。 二、准备工作 2.1、运行环境 JMeter5需要至少JDK8如果你的机器还没有安装JDK请先安装 2.2、创建接口 这里我们使用springboot来快速构建一个接口主要代码如下 GetMapping(value /test) public String performanceTest(RequestParam(valuename, defaultValue) String name) {log.info(进入测试参数name的值为:{}, name);if (StringUtils.isEmpty(name)) {return name cannot be null;} else {return RandomUtil.generateRandomString(16);} }其中generateRandomString是一个生成指定长度随机字符的方法。 在application.properties中简单地指定一下log文件 logging.filespring.log然后打包部署到linux下启动命令如下 java -jar stress-testing-0.0.1-SNAPSHOT.jar然后用curl命令分别访问有参数和无参数的接口也可以在浏览器访问 三、使用JMeter测试HTTP 3.1、创建测试计划 我们双击打开bin/jmeter.bat等待JMeter的GUI程序启动成功后如下。初次启动默认语言是英语你可以在菜单栏的Options-Choose Language-Chinese(Simplified)切换成简体中文 右键点击TestPlan-添加-线程用户-线程组完成后选择Thread Group在这个线程组上点击右键添加-取样器-HTTP请求再选择HTTP请求在这个HTTP请求上点击右键添加-监听器-察看结果树再次选择HTTP请求在这个HTTP请求上点击右键添加-监听器-聚合报告。完成后如图所示 下面来解释一下这些概念 TestPlan测试计划相当于一个工程需要测试什么怎么测就是定义在一个测试计划中Thread Group线程组相当于模拟的请求数。一个线程相当于一个用户请求察看结果树监听发送请求时各个请求的状态聚合报告把一次测试的数据汇总 3.2、配置参数 测试计划 选择左侧的Test Plan右侧的名称就是测试计划的名字注释就相当于代码中的注释没什么好说的。下面有个独立运行每个线程组在一个测试计划中可以创建多个线程组目前我们只有一个比如我们不同的接口的并发量是不一样的这时可以根据需要创建多个线程组分开测试。好了我们先默认不作修改。 Thread Group 选择左侧的Thread Group线程组也有名称和注释比如我们可以填写一些并发级别之类的信息反正就是给人看的。下面的线程属性就是核心配置了前面也提到一个线程相当于一个用户请求。比如线程数填10Ramp-up时间填5循环次数填1就表示在5秒内发送10次请求执行一次。 HTTP请求 选择左侧的HTTP请求这里我们关注Web服务器和HTTP请求这两个属性。协议就是请求的协议默认是httpip填服务器地址也可以填域名端口号是8080因为刚才写的test接口只支持GET请求方法选择GET路径为url的请求路径GET请求的参数可以直接带在路径上也可以写到下面的参数那里通过点击“添加”按钮来添加请求参数。 另外值得注意的是左侧的节点很多时候是可以重复的但是作用域不相同。比如当前察看结果树和聚合报告都是在HTTP请求下创建的那么这个察看结果树和聚合报告监听的就是这个HTTP的结果。一个线程组下可以有多个HTTP请求比如我们有一个H5页面要测试打开这个页面可能会同时请求多个接口在这种情况下就需要创建多个HTTP请求了。当察看结果树和聚合报告创建在Thread Group下那么就是监听这个线程组下所有HTTP请求的结果。 3.3、测试 点击界面工具栏的绿色三角按钮开始压测这时可以看到spring.log文件会不断输出信息 等待压测结束后我们可以选择左侧的察看结果树就可以看到本轮测试的请求情况 选择其中的请求可以在右边看到这个请求的详细信息包括时间请求数据长度请求地址等等。 选择聚合报告可以看到本轮测试的数据报告 解释一下这份报告 样本请求的次数计算公式是线程数*循环次数如果线程组配置勾选了永远那么就是你停止测试时实际发送的请求数平均值响应时间的平均用时单位是毫秒。比如这里的平均响应时间是38毫秒中位数响应时间的中位数单位是毫秒。90%百分位90%的响应时间小于该数值单位是毫秒。这里有90%的响应时间小于22毫秒95%百分位含义和90%类似99%百分位含义和90%类似最小值本轮测试最小响应时间单位是毫秒。最大值本轮测试最大响应时间单位是毫秒。异常%本轮测试出现异常的请求比例。吞吐量可以理解为QPS即是我们测试的接口处理请求的能力。比如这里是平均每秒可以处理2.2次请求接收KB/Sec响应数据的接收速率发送KB/Sec请求数据的发送速率 到此为止你是不是觉得刚才我们写的接口很完美服务也运行得毫无破绽好了我们选择界面左侧的Thread Group线程组然后把线程数改为5000其它不变模拟在5秒内有5000个用户来访问我们的接口。然后先点击界面上方的一个齿轮加两把扫帚的按钮来把结果树和聚合报告清除然后再点击绿色的启动按钮测试结果如下 你会发现当并发增大时会有一部分请求出现了异常。再切换到聚合报告上你会发现原来平均响应时间只有30多毫秒直接飙到5秒多了异常率也出现了。这时就需要我们根据一些错误信息去做一些调优了可能是系统级别的也可以是jvm级别的又或者是代码本身的问题。这不是本篇所要讲的这里就不说了。 四、在JMeter中使用变量 在上面例子中在我们在填写HTTP配置的时候IP直接写了IP地址但是有一个问题假如我们的接口在不同的机器上部署了节点我们在对不同机器上的接口进行测试总不能每测完一个就改一个吧假如要测试一个服务上的30个接口不是改到手酸了JMeter给我们提供了变量我们可以在HTTP请求中使用变量。 我们右键点击Thread Group添加-配置元件-用户定义的变量也可以在测试计划或者HTTP请求下创建这样作用域就是整个测试计划或者HTTP请求。然后选择用户定义的变量并在右边点击添加按钮添加host和port两个变量 在JMeter中使用变量是通过${}来引用的比如要引用host变量就是​${host}然后我们选择HTTP请求把IP地址和端口改为引用变量的形式 然后我们重新点击启动按钮测试打开察看结果树可以看到请求还是发送到变量中定义的地址。 这样就算我们有30个HTTP请求我们也可以只修改用户定义的变量中的变量值就可以了。 为了方便后面的测试我们先把线程数改为500然后选择左侧的Test Plan然后点击 文件-保存测试计划为然后选择存放目录可以得到一个jmx格式的文件后面会用到这个文件。 五、JMeter的命令行使用 在开始通过bin/jmeter.bat启动JMeter时会在控制台输出如下的信息 从这段提示我们至少可以知道两个信息 不要用GUI的模式进行测试而应该用CLI模式其实是使用命令行运行参数可以改变 先说第2点因为JMeter是用纯Java写的是运行在JVM上的所以它的运行会受到JVM参数的控制默认的堆大小是1G初始值Xms和最大值Xmx都是1G最大的Metaspace为256MJDK8没有永久代的概念了用Metaspace代替。在bin/jmeter.bat中有一行(第150行)是用来设置JVM参数的 set HEAP-Xms1g -Xmx1g -XX:MaxMetaspaceSize256m比如我们可以把这三个参数都增大1倍然后再启动一下发现JVM参数已经变了 但是官方不建议我们直接去修改启动脚本而是建议我们在bin目录下创建一个名为setenv.bat然后在其中设置运行参数如果配置过tomcat的jvm参数就会很熟悉这种做法了我们把jmeter.bat文件的HEAP参数改为原来的值然后在bin目录下创建一个setenv.bat文件并且写入以下内容 set HEAP-Xms2g -Xmx2g -XX:MaxMetaspaceSize512m重启JMeter再次查看其JVM参数如下 以上就是JMeter的运行参数设置说这么多的目的其实和第1点有关。我们的服务器基本都是Linux系统而我们的服务器应该不会安装GUI操作界面因为这对于用来运行服务来说不但没用还会吃掉很多cpu和内存资源可能还会让服务器不稳定。这也是JMeter建议我们不要用GUI的方式去测试的原因。既然这样为什么JMeter又要提供GUI界面呢看回JMeter的启动控制台有这样一行信息 jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]这里我们关注一个参数是-t后面接jmx文件这个文件就是上面保存的jmx文件它保存了JMeter压测时需要的线程组、HTTP请求等配置参数。打开可以看到其实是一个xml格式的文件里面有各种各样的参数如果没有GUI界面让用户去手写这么一个配置文件那就很麻烦了。 说了这么多我们正式介绍一下jmeter命令的参数jmeter的完整参数可以通过jmeter -?查看这里只介绍几个常用的参数 -n非GUI模式其实就是命令行的模式 -t后跟测试文件jmx文件 -l后跟log文件把测试的过程输出到日志文件中 -e测试结束后生成报告 -o测试报告存放目录必须是空目录 下面使用命令行测试 完成后会在指定的目录生成html格式的测试报告其中有个index.html我们打开它就可以看到很漂亮的图形化的报告了可以拿去给你们老板看了。 六、分布式测试 上面所介绍的是在一台机器上的操作那么就会有这么一个问题当你设置线程数为10时在一台4核心cpu的机器上执行这台机器模拟出10个线程当然没问题但是假如你把线程数提升到10000表面上这台机器也在努力地给你模拟10000个线程但是它的核心数也只有区区4个在底层其实还是操作系统在不断切换线程来模拟这10000个线程线程切换需要时间发送请求也需要时间这样做的话除了让测试机的cpu使用率飙升到100%之外还可以让你得到一份不准确甚至错误的数据因为你的机器其实是没办法在5秒来把这10000个请求发送完毕的。这个时候我们就需要用多台机器去同时给接口机发送请求这就是分布式测试。 说一下大致的原理我们准备多台机器其中一台作为master机器其余的作为slave机器master机器用来发送指令slave机器去执行原理图如下 这些机器的要求如下 关闭防火墙或者打开响应的端口 在同一个子网 JMeter可以访问测试的接口 JMeter的版本一致JDK的版本也一致否则可能出错 必须为RMI设置SSL或者关闭它 满足了以上的条件先执行各个slave里bin目录下的jmeter-server然后开发master机器上的JMeter的bin/jmeter.properties文件找到remote_hosts127.0.0.1那行并且改为slave内网地址地址之间用英文逗号分隔然后打开master机器上的JMeter像单机那样测试就可以了。 我没有那么多机器这里就不演示了。 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.zqtcl.cn/news/525671/

相关文章:

  • 有些中小网站cnzz网站排名是怎么做的
  • 深圳做微商网站的公司高端做网站价格
  • 在线原型设计网站wordpress菜单页内跳转
  • 做电影网站要买什么抖音推广怎么收费
  • 专业的公司网站开发网站按钮设计
  • 南宁网站建设是什么深圳公司有哪些
  • 杭州手机申请网站登录怎么做电子商务网站
  • 青岛个人接网站建设wordpress 转载文章
  • 网上做网站任务网络营销传播的核心内容
  • 做黑界头像网站成考过来人的忠告
  • 宁波网站建设是哪家便宜织梦网站数据库备份文件夹
  • 在北京大学生做家教的网站淘宝网页
  • 英铭网站建设网站如何推广引流
  • 关于电子商务网站建设的现状企业公示信息查询系统山西
  • 网站开发 翻译长春建站企业
  • dedecms网站网站解析一般什么时候
  • 制作网站的技术北京律师24小时电话
  • 可拖拽 网站建设如何做自媒体和网站签约赚点击
  • 做网站选哪个语言怎么登录百度app
  • 国发网站建设网站优化主要优化哪些地方
  • 快速微信网站开发定制网站建设费用预算
  • 网站制作叫什么知名网站建设制作
  • 网络营销网站建设公司h5应用
  • 网站开发合同要上印花税吗南江红鱼洞水库建设管理局网站
  • 疏通下水道网站怎么做wordpress 恢复初始化
  • 电脑商业网站怎的做软文推广渠道
  • 自己做网站需要买什么如何做微信商城网站
  • 有了网站开发app是不是更容易自建网站管理
  • 网站将要准备建设的内容有哪些做外贸有效的网站
  • 网站设计博客网站内容添加