lr

loadrunner11的移动端性能测试之脚本优化

只谈情不闲聊 提交于 2019-12-19 06:26:26
测试步骤之脚本优化(Script) 看到这里,是不是疑惑录制好的脚本还需要优化吗,答案是肯定的。 优化概要 脚本优化包括插入注释(Comment),插入事务(Transaction),插入检查点(Check),插入集合点(Rendezvous),脚本参数化(Parameter),关联技术(Correlation)等等。 打开VuGen,相关设置如下 进入到脚本页(顶部的Script按钮),就能看到录制到action部分的脚本了,如下图所示 上面是我录制优化的登陆模块脚本,学过编程语言就大概能知道,LR脚本里都是些函数组成的,lr_output_message(日志中打印输出,类似C中printf函数),web_custom_request(请求函数,就是模拟用户点击按钮操作,点击一次就提交一次这种请求),web_reg_save_param_ex(注册函数,通俗点就是在服务器返回数据中查找并保存特定的数据)等。 不管怎样,录制成功后,首先得回放脚本一下,看看有没有问题,没问题就根据需求,真实环境进行脚本优化。 插入注释(Comment) 插入注释为了使脚本方便易懂,很简单,单行在前面加上//即可,多行注释用/* ....(此处是脚本).....*/。 插入事务(Transaction) 插入事务也很快,就是判断一段操作的时间,记住事务插入在集合点之后并且是成对出现的,如lr

lr性能测试结果分析原则

烂漫一生 提交于 2019-12-17 08:08:09
分析原则: 具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点) 查找瓶颈时按以下顺序,由易到难。 服务器硬件瓶颈-〉网络瓶颈(对局域网,可以不考虑)〉服务器操作系统瓶颈(参数配置)〉中间件瓶颈(参数配置,数据库,web服务器等)-〉应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等) 注:以上过程并不是每个分析中都需要的,要根据测试目的和要求来确定分析的深度。对一些要求低的,我们分析到应用系统在将来大的负载压力(并发用户数、数据量)下,系统的硬件瓶颈在哪儿就够了。 分段排除法 很有效 分析的信息来源: 1)根据场景运行过程中的错误提示信息 2)根据测试结果收集到的监控指标数据 一.错误提示分析 分析实例: 1)Error: Failed to connect to server "payment.baihe.com″: [10060] Connection Error: timed out Error: Server "user.baihe.com″ has shut down the connection prematurely 分析: A、应用服务死掉。 (小用户时:程序上的问题。程序上处理数据库的问题) B、应用服务没有死 (应用服务参数设置问题) 例:在许多客户端连接Weblogic应用服务器被拒绝,而在服务器端没有错误显示

lr事务

对着背影说爱祢 提交于 2019-12-16 10:20:34
事务:transaction(性能里面的定义:客户机对服务器发送请求,服务器做出反应的过程) 用于模拟用户的一个相对完整的业务操作过程:如登录,查询,交易等操作(每次http请求不会用来作为一个事务) 方式1、录制过程中,可操作 方式2、以loadrunner 自带WebTours为例, 操作步骤:    1、打WebTours首页    2、点击事务开始按钮,输入“登录”    3、输入用户名密码点击登录按钮    4、点击事务结束按钮,点击确定。(注:事务的开始与结束的名称一定要一致) 方式3、等正常录制结束后,手写: (注意:1、开始与结束函数必须成对出现2、事务的名称必须一样) 在脚本中找到要添加事务的部分,在前后插入函数; lr_start_transaction("名称:如登录");    .....(事务脚本部分) lr_end_transaction("名称:如登录",LR_AUTO); 方式4、或找到要添加事务的部分,在前后单击鼠标左键后,再在菜单中找到并插入事务: 来源: https://www.cnblogs.com/QiKa/p/12039621.html

pytorch中模型文件.pth的解析

寵の児 提交于 2019-12-15 00:49:33
在pytorch进行模型保存的时候,一般有两种保存方式,一种是保存整个模型,另一种是只保存模型的参数。 torch.save(model.state_dict(), "my_model.pth") # 只保存模型的参数 torch.save(model, "my_model.pth") # 保存整个模型 保存的模型参数实际上一个字典类型,通过key-value的形式来存储模型的所有参数,本文以自己在实践过程中使用的一个.pth文件为例来说明,使用的是整个模型。 1.1 .pth 文件基本信息的查看 import torch pthfile = r'F:/GNN/graph-rcnn/graph-rcnn/datasets/sg_baseline_ckpt.pth' #faster_rcnn_ckpt.pth net = torch.load(pthfile,map_location=torch.device('cpu')) # 由于模型原本是用GPU保存的,但我这台电脑上没有GPU,需要转化到CPU上 print(type(net)) # 类型是 dict print(len(net)) # 长度为 4,即存在四个 key-value 键值对 for k in net.keys(): print(k) # 查看四个键,分别是 model,optimizer,scheduler

LR(k) to LR(1) grammar conversion

北战南征 提交于 2019-12-14 03:50:43
问题 I am confused by the following quote from Wikipedia: In other words, if a language was reasonable enough to allow an efficient one-pass parser, it could be described by an LR(k) grammar. And that grammar could always be mechanically transformed into an equivalent (but larger) LR(1) grammar. So an LR(1) parsing method was, in theory, powerful enough to handle any reasonable language. In practice, the natural grammars for many programming languages are close to being LR(1).[citation needed]

12.12 日志

北城余情 提交于 2019-12-13 15:30:37
一.Pyramid Feature Attention Network for Saliency detection论文的代码运行 代码:https://github.com/CaitinZhao/cvpr2019_Pyramid-Feature-Attention-Network-for-Saliency-detection 环境需求:TF-1.12 with all other dependencies being latest versions works well for me. Tensorflow与Keras版本之间的兼容性 https://docs.floydhub.com/guides/environments/ tensorflow1.12+keras2.2.4 Tensorflow版本与cuDNN CUDA的版本配合 https://www.jianshu.com/p/464fefb5c5d8 当前系统环境是 CUDA 8.0 和 CUDNN 6.0 但Tensorflow1.12要求 CUDA 9.0 和 CUDNN 7.0 报错: ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory 所以要 更换CUDA和CUDNN版本 1

Where can I find a _simple_, easy to understand implementation of an LR(1) parser generator?

痴心易碎 提交于 2019-12-12 09:16:15
问题 Where can I find a simple (as much as possible, but no simpler!) implementation of an LR(1) parser generator? I'm not looking for performance, just the ability to generate the LR(1) states (item sets). C++, C#, Java, and Python would all work for me. 回答1: I've written a very simple one in C# and wanted to share it here. It basically populates the action lookup table, which tells you which state to shift to or which rule to use for reduction. If the number is nonnegative, then it denotes a new

How do I translate LR(1) Parse into a Abstract syntax tree?

瘦欲@ 提交于 2019-12-11 03:17:51
问题 I have coded a table driven LR(1) parser and it is working very well however I am having a bit of a disconnect on the stage of turing a parse into a syntax tree/abstract syntax tree. This is a project that I m very passionate about but I have really just hit a dead end here. Thank you for your help in advance. Edit: Also my parser just uses a 2d array and an action object that tells it where to go next or if its a reduction where to go and how many items to pop. I noticed that many people use

How can an LR(0) parser ever leave state 0?

跟風遠走 提交于 2019-12-11 01:42:17
问题 I've read Wikipedia's explanation at least a dozen times, but I'm still confused at how an LR(0) parser ever leaves state 0. Wikipedia's example, with its explanation, says: The parser starts out with the stack containing just the initial state ( '0' ): [0] The first symbol from the input string that the parser sees is '1' . ... but this doesn't make sense to me, because seeing the input symbol would be performing a lookahead , but an LR(0) parser, by definition, can't perform a lookahead.

CTR预估-GBDT与LR实现

天大地大妈咪最大 提交于 2019-12-09 20:05:03
1.来源   本质上 GBDT+LR 是一种具有 stacking 思想的二分类器模型,所以可以用来解决二分类问题。这个方法出自于 Facebook 2014 年的论文 Practical Lessons from Predicting Clicks on Ads at Facebook 。 2.使用场景   GBDT+LR 使用最广泛的场景是 CTR 点击率预估,即预测当给用户推送的广告会不会被用户点击。点击率预估模型涉及的训练样本一般是上亿级别,样本量大,模型常采用速度较快的 LR。但 LR 是线性模型,学习能力有限,此时特征工程尤其重要。现有的特征工程实验,主要集中在寻找到有区分度的特征、特征组合,折腾一圈未必会带来效果提升。GBDT 算法的特点正好可以用来发掘有区分度的特征、特征组合,减少特征工程中人力成本。 3.CTR的流程   主要包括两大部分:离线部分、在线部分,其中离线部分目标主要是训练出可用模型,而在线部分则考虑模型上线后,性能可能随时间而出现下降,若出现这种情况,可选择使用 Online-Learning 来在线更新模型: 3.1离线部分 数据收集:主要收集和业务相关的数据,通常会有专门的同事在 app 位置进行埋点,拿到业务数据 预处理:对埋点拿到的业务数据进行去脏去重; 构造数据集:经过预处理的业务数据,构造数据集,在切分训练、测试