Sampler

性能测试-jmeter基础4-设置日期的递增参数demo

泄露秘密 提交于 2021-01-13 00:43:29
在跑脚本的过程中,希望日期随线程递增,具体demo如下 1、线程组设置5个线程数 2、新增取样器 3、使用Jmeter开发脚本时,难免需要调试,这时可以使用Jmeter的Debug Sampler,它有三个选项:JMeter properties,JMeter variables,System properties: JMeter variables:这个是我们自已定义的变量,定义的方式有如下这些:   a) 选中测试计划(Test plan),在右边的面板上添加User Defined Variables   b) 选中线程组,右键选择 配置元件( config element)-->User Defined Variables   c) 通过后置处理器生成的变量   d)使用csv参数化的变量 4、script var n=${__threadNum}; function dateAdd(startDate,n) { startDate = new Date(startDate); startDate = +startDate + 1000*60*60*24*n; startDate = new Date(startDate); var nextStartDate = startDate.getFullYear()+"-"+(startDate.getMonth()+1)+"-

OpenGL学习(六)纹理与obj格式模型的读取

不羁的心 提交于 2020-12-12 13:11:17
目录 前言 纹理映射 纹理坐标 映射到简单正方形 读取图像 生成正方形数据 生成纹理 着色器贴纹理 读取obj文件 obj文件格式 编写readObj函数进行读取 渲染一张桌子 完整代码 c++ 顶点着色器 片元着色器 前言 上一篇博客回顾: OpenGL学习(五)相机变换,透视投影与FPS相机 在上一篇博客中,我们利用相机变换矩阵,对场景进行透视投影,同时我们实现了可以自由飞翔的 FPS 相机。 迄今为止我们的渲染都是非常单调并且过时的,今天我们来引入一些现代化的东西,来丰富我们的场景。 首先我们会利用一张图片生成纹理,随后我们将这张图片贴在我们的物体上。这就像现代计算机游戏中,我们可以让艺术家们人为的制定一些图片,而不是由程序员大费周章的生成它。 在最后我们通过读取 obj 格式的模型并且创建对应的纹理,来绘制一些精美的模型。 ⚠ 该部分的绘制代码基于上一篇博客: OpenGL学习(五)相机变换,透视投影与FPS相机 博客内容因为篇幅关系,不会完整的列出所有的代码 完整代码会放在文章末尾 纹理映射 在正式开始之前,我们需要了解纹理映射的知识。在计算机游戏中,我们往往见到很多精美的模型,比如下图的水果摊,就有很多个🍎。 通过模型实际上还原这些🍎的几何细节是非常困难的。而且我们还要确定他们的颜色,这更加是难上加难。 于是我们想出了一个曲线救国的方式:我们将一张图片贴上去

3D视觉:一张图像如何看出3D效果?

被刻印的时光 ゝ 提交于 2020-11-28 08:40:35
不同于人类,计算机「看待」世界有自己的方式。为了达到类似人类的视觉水平,各种算法层出不穷,本篇就来窥探其冰山一角。 机器之心原创,作者:陈萍。 我们生活的世界是一个三维物理空间。直观而言,三维视觉系统有助于机器更好地感知和理解真实的三维场景。三维视觉作为计算机视觉的一个比较重要的研究方向,在过去几十年间得到了扎实和系统地发展,形成了一套完整的理论体系。近年来,随着三维成像技术如激光雷达、TOF 相机及结构光等的快速发展,三维视觉研究再次成为研究热点。 在 上一篇文章 中,我们对 3D 视觉基础相关内容进行了概括性总结,本文我们将进行比较深层次的介绍,主要涉及 3D 视觉算法及其应用领域。 3D 目标检测多模态融合算法 基于视觉的目标检测是环境感知系统的重要组成,也是计算机视觉、机器人研究等相关领域的研究热点。三维目标检测是在二维目标检测的基础上,增加目标尺寸、深度、姿态等信息的估计。相比于二维目标检测,三维目标检测在准确性、实时性等方面仍有较大的提升空间。 在目标检测领域,2D 目标检测方面发展迅速,出现了以 R-CNN、Fast RCNN、Mask RCNN 为代表的 two-stage 网络架构,以及以 YOLO、SSD 为代表的 one-stage 网络架构。然而由于 2D 图像缺乏深度、尺寸等物理世界参数信息,在实际应用中存在一定局限性,往往需要结合激光雷达

Hotchips 2020

試著忘記壹切 提交于 2020-11-28 00:55:23
最近太忙一直没更新,也没空写的特别细,就把Hotchips今年比较有意思的先一股脑儿放上来,我想到哪里写到哪里。 Marvell: ARM based server Marvell这个应该做了很久了,现在其他公司也不搞了,不清楚会走多远。之前我是不太看好这类东西的,但是苹果都开始做M1了,搞不好这个路子真的有未来。 也没什么特别的心意,除了发现,诶,居然还在做,牛啊。 平头哥的玄铁910 之前也有人介绍过了,我就先放个链接 如何看待阿里巴巴旗下 「平头哥」发布首枚芯片 :玄铁 910? ​ www.zhihu.com 这么宽的vector instruction功耗没问题么,如果是为了AI不应该扔给另外一个专门做AI小东西做么。 总的感觉不是特别明确具体应用场景是啥,好像也买不到,但是看着还挺有意思的。要是能说出更具体的应用场景,然后在这个场景下如何吊打别人,可能更有利于大家理解吧。 哈佛大学的Baysian Inference Accelerator 哈佛大学做这些的感觉路子一直很野啊。 实现上这个PGMA是优化的实现,一个大的cache加上一堆Gibbs Sampler。忘记Gibbs sampling是干啥的,这里复习 http://www.mit.edu/~ilkery/papers/GibbsSampling.pdf ​ www.mit.edu

【zipkin】链路追踪

风流意气都作罢 提交于 2020-11-24 02:42:38
1,安装zipkin:https://zipkin.io/pages/quickstart.html 推荐使用docker去安装zipkin服务,下载安装执行都有了。缺点是下载要等待一段时间 2,使用php来构造tracing数据,投递给zipkin 用的包是:https://github.com/jcchavezs/zipkin-php 安装推荐使用composer,找个空目录直接执行composer命令就好 实战1:demo先跑起来 <? php require "vendor/autoload.php" ; use Zipkin\Annotation; use Zipkin\Endpoint; use Zipkin\Samplers\BinarySampler; use Zipkin\TracingBuilder; use Zipkin\Reporters\Http; $endpoint = Endpoint:: createFromGlobals(); $reporter = new Http(); $sampler = BinarySampler:: createAsAlwaysSample(); $tracing = TracingBuilder:: create() ->havingLocalEndpoint( $endpoint ) ->havingSampler(

mmdetection 配置文件解读

时光怂恿深爱的人放手 提交于 2020-11-21 04:09:15
mmdetection 详细解读: https://blog.csdn.net/syysyf99/article/details/96574325 简介 faster_rcnn_r50_fpn_1x.py配置文件 cascade_rcnn_r50_fpn_1x.py配置文件 一、简介 在使用mmdetection对模型进行调优的过程中总会遇到很多参数的问题,不知道参数在代码中是什么作用,会对训练产生怎样的影响,这里我以faster_rcnn_r50_fpn_1x.py和cascade_rcnn_r50_fpn_1x.py为例,简单介绍一下mmdetection中的各项参数含义 二、faster_rcnn_r50_fpn_1x.py配置文件 首先介绍一下这个配置文件所描述的框架,它是基于resnet50的backbone,有着5个fpn特征层的faster-RCNN目标检测网络,训练迭代次数为标准的12次epoch,下面逐条解释其含义 # model settings model = dict( type='FasterRCNN', # model类型 pretrained='modelzoo://resnet50', # 预训练模型:imagenet-resnet50 backbone=dict( type='ResNet', # backbone类型 depth=50, #

美颜定制实现

穿精又带淫゛_ 提交于 2020-11-03 03:28:14
在介绍美颜定制之前,我们先来复习一下OpenGL中图像绘制原理。OpenGL的图像绘制,是由许许多多三角形构成的。OpenGL的绘制离不开三角形的绘制。通常对于不需要对图像细节进行处理的时候,我们一般会使用glDrawArrays方法将整张图片绘制处理。但如果要对图像的某一个部分进行形变等微调,这时候通常将图像划分为许许多多的三角形。比如MLS算法原理就是通过调整三角形的顶点位置实现图像形变的。将一张图像划分为许许多多的三角形之后,使用glDrawArrays就不够划算了,由于glDrawArrays在图像有多个连续的三角形构成的时候,会出现许多重复的边,这里面不仅仅产生比较大的内存开销,也对CPU到GPU传递数据的带宽造成一定的影响,对于移动端来说,内存和带宽都比较受限。这时候,使用glDrawElements是一个比较好的方式。 人脸三角形索引构建 本人将结合美颜类相机的美型处理用到的技术,详细介绍glDrawElements的用法。 我用的是Face++免费提供的人脸关键点检测SDK,虽然免费使用有设备和次数限制,但对于验证来说,足够了,在此感谢Face++的帮助。根据Face++的SDK的文档,106个关键点如下图所示: 我们在得到人脸关键点后,需要对关键点进行三角划分,三角剖分算法通常是Delaunay Triangulation,关于Delaunay

JMeter-一个接口的返回值作为输入传给其他接口

梦想与她 提交于 2020-10-25 20:41:50
背景: 在用JMeter写接口case,遇到一种情况,接口1查看列表接口,接口2查看详情接口,接口2需要传入接口1列表的第一条数据的id 因为这个id后面我可能会改变,所以也不适合作为全局变量来设置 解决方案: 首先放一下总体截图 具体步骤 1-新建一个Thread Group即线程组,在该线程组下面添加接口1的HTTPrequest,填写路径方法和参数等(选择线程组右键-add-HTTPrequest) 2-选择接口1的HTTPrequest ,右键新建一个正则表达式提取器,即上图中的“提取id” 3-在结果树观察列表接口的返回值,确认正则表达式 "content":\[\{"id":"(.+?)"能够获取到第一个id 4-将正则表达式和id补充到提取器的正则表达式内, 注意要勾选验证区域!否则会搜不到 ,我们这里是查看返回值,选择了Body 引用名称:下一个请求要引用的参数名称,如填写id,则可用${id}引用它 模板:用$*$引用起来,表示解析到的第几个值,如:$1$表示解析到的第1个值 匹配数字:0代表随机取值,1代表第一个,-1代表每一个 5-在线程组下,新建一个 Debug Sampler(新建路径:右键新线程组 - 添加 - Sampler - Debug Sampler),方便查看所提取的环境变量值是否正确 6-在当前线程组下新建一个接口2的HTTPrequest

Jmeter 样例 之 JDBC请求-操作MySql数据库

假如想象 提交于 2020-10-24 11:50:15
准备: 1、MySql的驱动jar包:mysql-connector-java-5.1.28.jar, 2、jmeter安装目录中修改编码格式:\bin\jmeter.properties :sampleresult.default.encoding=UTF-8 3、连接数据库的连接地址、用户名、密码以及操作sql语句 准备好 步骤一:下载MySql的驱动jar包 如果自己有,忽略这个步骤。 1、打开下载地址:https://dev.mysql.com/downloads/connector/j/,如下图,选择Platform Independent,然后根据情况下载,我下载的是zip包进行解压。 2、解压后,将mysql-connector-java-版本号.jar 包 放到Jmeter安装目录 \lib\ 下。 建议重启下Jmeter 步骤二:修改编码格式 jmeter安装目录 \bin\jmeter.properties :sampleresult.default.encoding=UTF-8 步骤三:添加脚本 1、测试计划下 新增 JDBC Connection Configuration 2、新建线程组 ----> 新建样例 -----> JDBC Request,新增一个 结果观察树 和 Debug Sampler 3、设置 JDBC Connection

性能测试之Jmeter中场景设置与启动方式

坚强是说给别人听的谎言 提交于 2020-10-07 05:19:28
Jmeter场景设置与启动方式 性能测试场景是用来模拟模拟真实用户操作的工作单元,所以场景设计一定要切合用户的操作逻辑,jmeter主要是通过线程组配合其他组件来一起完成场景的设置。 线程组设置 Jmeter线程组实际上是简历一个线程池,然后根据用户的设置完成线程池的初始化,在运行时做各种逻辑处理 上图是一个线程组的配置界面,下面我们对具体的参数进行说明 name和comments 是名称和注释的配置,这里根据自己要测试的场景设置就好,最好是见名知意 Action to be taken after a sampler error 在取样器错误后要执行的操作,也就是说在某一个请求出错后的异常处理方式,有5中方式 Continue, 继续,取样器模拟的请求出错后,继续运行 在大量用户并发请求时,服务器可能会出现错误响应,这属于正常现象,此时要把错误记录下来,继续后面的请求 start next Thread Loop 如果出错,则统一脚本中的剩下的请求将不在执行,直接重新开始,比如有个场景,需要先登录后发文,这个时候如果登录失败了,那么发帖就不会成功,所以没必要继续执行,直接开始下一轮测试就好,此时就可以设置这个错误处理方式。 stop thread 停止线程,如果遇到取样器模拟的某个请求失败,则停止当前线程,不再执行,比如配置了40个线程,某个线程的请求失败,则停止当前线程