UnityU3D 用Loadrunner可以为什么要做性能测试试吗

unity制作最强APP!unity不只是用来做游戏!
先上图!unity制作APP!性能不逊于原生。解决了很多问题!
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_97290_cbdd.png');" />
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_97290_eeaff839ac94f13.png');" />
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_c8ce066f04.png');" />
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_.png');" />
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_289f2e124.png');" />
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_97290_db7a0b38c1e46df.png');" />
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_.png');" />
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_97290_c31dccc5de1c3a2.png');" />
726 || this.offsetHeight>700){if(this.offsetWidth/726 > this.offsetHeight/700){this.width=726;}else{this.height=700;}}" style="max-width:726max-height:700" title="点击查看原图" onclick="if(this.parentNode.tagName!='A') window.open('/forum/attachment/1510/thread/27_fba9cdd3f472.png');" />
该产品已上线半年,累计下载10w+,日活跃1w+,有兴趣可以先下载体验:e片红,每周我会给大家讲解如何用unity做一个成功的手机APP!
Unity来做APP!
共3条评分,
以后搞app就不用android招一堆人,ios招一堆人啦,哈哈
很棒!!!
很棒!!!
要评论请先&或者&
屌屌的啊 & 期待。。。。。。
期待教程,如果有完整的网络交互相关就更好了
:期待教程,如果有完整的网络交互相关就更好了 html 服务器java写的,我会把所有的都告诉大家,写完客户端再写服务器,大家可以多交流
不错不错好久没看到这样好贴了
U3D做的额?
:U3D做的额? 纯U3D开发
:不错不错好久没看到这样好贴了 会出一个系列,涉及U3D,java,和web开发等一系列技术,最终形成一套完整技术体系。大家可以关注
赞赞赞~!!!
最近也有打算自己做个app,希望楼主能够早日上教程UnityU3D 用Loadrunner可以做性能测试吗?UnityU3D性能选择那个协议呢?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
UnityU3D 用Loadrunner可以做性能测试吗?UnityU3D性能选择那个协议呢?
。,不了解UnityU3D用的那个协议。。想用loadrunner做UnityU3D场景的性能测试
用Win Socket这个底层协议录制的脚本很难读懂,还有其他工具或者方法做3D游戏的性能测试吗?
我有更好的答案
UnityU3D这个是开发工具吧,你说的应该是对开发出来的游戏做性能测试吧?
Unity是播放3D场景的一个插件,就是对游戏做性能测试
采纳率:38%
为您推荐:
其他类似问题
loadrunner的相关知识
等待您来回答2367人阅读
软件测试(1)
一、介绍:
Google Code上的一个开源项目,还在开发中,作者Email是:。RoadRunner是一款测试软件,可以对系统进行性能、并发和压力测试。开发开始于,目前最高版本是4.0,RR在4.0.0版本有了很大的提升,增加了进程模式、性能监控和一套分布式存储性能测试的解决方案。
RR是用ruby实现LoadRunner的框架,既:init(){ }、action(){ }和end(){ };init存放初始化、登陆等操作;action可以不断的迭代执行,从而产生持续不断的压力;end存放释放资源、退出等操作。外加一个虽然简单但直观的报表。作者在之后的版本将不断的完善RR的报告,提高和LR的相似度,还会增加更多ruby特有的方法,丰富Rrhelper模块代码。RR更方便的地方在于,它不仅仅可以通过日志来展示结果,还可以将结果存储到数据库中,大家可以看test目录中的pi_db.rb这个测试文件,之后就会很方便的通过读取数据库的测试记录,来绘制测试报表。
目前RR的资料较少,主要是作者自己写的几篇文章,附录在“资料”一栏。
二、部署与配置:
1.&&&&&& 环境:
ubuntu,Linux version 3.2.0-59-generic-pae (buildd@aatxe) (gcc version 4.6.3(Ubuntu/Linaro 4.6.3-1ubuntu5) )。
本文通过putty远程控制ubuntu运行例子程序。
2.& 安装:
1. 安装ruby(1.9.3)—参考
2. 安装gem(1.8.23)
3. 安装RoadRunner:最新的Gem到Source中通过Google Code的SVN下载;也可以通过Gem直接安装:gem install RoadRunner --source。
4. 根据需要,还需要安装MySQL数据库和配置分布式系统。
5. 测试安装是否成功:/var/lib/gems/1.8/gems/roadrunner-4.0.4/test# 目录下,有测试的例子,比如运行“ruby baidu.rb”,在我的电脑出现
“/usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in`gem_original_require': no such file to load – net/ssh (LoadError)”错误,说明需要安装软件包net-ssh(gem install net-ssh);同理,出现类似的错误,则需要安装缺少的软件包。运行例子后在终端出现测试结果,则说明软件运行正常:
图一:运行“rubypi.rb”
三、软件结构:
& 下面解释一下在安装了RR后,RR在系统中的软件结构:
图二:RR的软件结构
& bin和controller目录:存放着对分布式系统做性能测试的解决方案,用例分别为: 大文件的dd操作、小文件的copy操作(svn)和对mysql的访问操作三种。如果要对分布式存储做性能测试,那么直接拿RR就可以用了,用例和代码都不需要写了,改一下细节就行了。
&conf目录:里面的文件servers.yaml,是实现性能监控的功能中,存放被监控主机的ip和帐号等信息的配置文件。
& lib目录:RR的函数库,里面是RR实现的主要部分。
& log目录:存放用例的监控数据。
&test目录:里面的ruby程序是测试文件,安装好该gem后,可以先通过阅读测试代码来入手RR。
四、功能介绍:
& 本部分以test目录下的实例介绍RR的功能。
1.&&&&&&基本功能:设置并发用户数和每个用户执行的次数,对系统进行性能、并发和压力测试,并输出包括响应时间和系统吞吐量(TPS = 并发数/平均响应时间)等指标的报告。在图一中,运行“ruby pi.rb”之后,会在终端显示测试的结果,这是RR提供的最基本的性能测试功能。
图三:日志文件
2.&&&&&&将结果存储在日志和数据库。存储在日志的实现方法可以在log目录下的ruby文件log.rb查看,之后只要运行ruby测试用例,就可以在log下的“stdout.log”的日志文件找到测试结果的记录,如图三,这是在运行了上面pi.rb用例后输出到日志文件“stdout.log”的内容。存储在数据库的实现可以查看lib目录下的ruby文件db.rb,这个ruby文件可以看出数据库中设置有scenarios,transactions,records这三张表,RoadRunner会自动创建这三张表,以及默认的字段,并且将测试数据写入这三张表中。作者在数据库这一块的设计是这样的:当引用RoadRunner这个gem时,在生成RoadRunner类的同时,给RoadRunner.new方法一个block,并且这个block里面是一个ActiveRecord的数据库连接,然后将数据写入上面的三张表中。
图四:进程模式
3.&&&&&&进程模式,使得压力发送的能力只限制于硬件,进程模式是RR的4.0版本添加的功能。test目录下的download_process.rb是进程模式的一个例子。在lib目录里面的run.rb可以看出当程序选择线程模式(t)或者进程模式(p)时的行为。当mode定义为进程模式的时候,RoadRunner将产生最真实的压力。如图四,上图是在运行download_process.rb的时候,在终端运行“ps -x”可以看到的有多个进程在运行;下图是运行测试例子后输出的日志。
4.&&&&&&性能监控,同时提供了分布式存储性能测试的解决方案,可以监控多台被压的主机,但系统需要Xnix系列,可以自定义监控内容。在test目录下的pi_monitor.rb可以用来是此功能的一个例子,在测试之前,需要对conf目录下的servers.yaml文件进行配置,配置分布式系统各个主机的信息。在这里,直接引用作者的测试结果。如图五,上图是log目录下的日志输出,下图是log目录下生成的用来存储分布式主机的测试结果的目录,可以看出生成的目录是根据servers.yaml配置的内容来输出的。在源码的bin和controller目录中,还放着对分布式系统做性能测试的解决方案,用例分别为:大文件的dd操作、小文件的copy操作(svn)和mysql的访问操作。如果要对分布式存储做性能测试,那么直接拿RoadRunner就可以用了,用例和代码都不需要写了,修改细节就行了。
图五:性能监控
5.&&&&&&与“倩女幽魂”项目合并起来用,可以监控被测主机的系统资源使用情况。系统负载和cpu用倩女幽魂可以得到,而且已经带了一个server的portal和flash报表。源代码在:,介绍在。
6.&&&&&&测试网络块存储nbd读写性能。参考:。
五、分析某些测试文件:
& 利用提供的测试代码来学习如何使用RR,此部分直接学习如何使用RR提供的API进行测试。这里将分析pi.rb,pi_db.rb,download_process.rb和pi_monitor.rb这四个例子。这里的测试代码都是使用在“介绍”一栏提到的框架:init(){ }、action(){ }和end(){ }。
&pi.rb:利用莱布尼兹公式计算圆周率。在init(){ }部分,初始化global[:pi]和global[:deep]为计算结果的起始值和计算深度;初始化users和iterations,这两个接口定义并发用户数和每个用户执行多少次。在action(){ }部分,定义莱布尼兹公式的计算方法,按照给出的计算深度来计算圆周率。在end(){ }部分,计算圆周率的最终值。最后,调用run和report方法执行和输出日志,并且输出计算好的tps(吞吐量)。
& pi_db.rb:利用莱布尼兹公式计算圆周率之后将性能测试的结果填入数据库。这个ruby跟pi.rb的主要区别在于“rrpi = RoadRunner.new”语句,pi_db.rb增加了对数据库的支持的方法。其中利用了session的方法,关于session的方法可以参考这篇博文:,需要定义session[:adapter]和存储的数据库session[:database]。
& download_process.rb:在进程模式下测试下载一个文件,是并发性能测试的一个例子。这部分的重点是定义了mode = ‘p’,表明测试使用进程模式。init(){ }定义了并发用户数目users和每个用户执行多少次iterations。action(){ }定义了要测试的行为。end(){ }部分没有执行动作。最后调用run和report执行程序和输出报告,然后输出系统TPS。
&pi_monitor.rb:对分布式系统进行性能监控的一个例子。这个例子跟pi.rb的唯一区别是增加了cmd = [ ]和RRMonitor.monit(){ }方法。cmd定义的是监控的内容。monit(){ }定义了使用性能监控和被监控主机的ip和帐号等信息存放在conf目录下的servers.yaml文件里。
六、分析RR源代码:
& 这部分将分析RR的源代码,加深对RR使用的理解,也为将来可能的扩展RR功能打基础。
& lib目录:
1.&&&&&&init.rb、run.rb、ended.rb和action.rb检查系统的block。block_given?方法属于Kernel模块,而此模块包含在Object中。利用这个block可以连接到数据库。
2.&&&&&&db.rb定义了数据库中的scenarios,transactions,records三个表和表的默认字段。
3.&&&&&&model.rb定义了数据库中表之间的关系。
4.&&&&&&report.rb定义了怎么生成报告的方法,比较简单,不用深究。
5.&&&&&&roadrunner.rb这是主要部分,定义了RoadRunner模块,实现了initialize()、transaction()和method_missing()。
6.&&&&&&rrmonitor.rb定义了性能监控的方法。
7.&&&&&&rrhelper.rb定义了iterationID和userID。
& bin目录:
1.&&&&&&controller.rb和host_mgr.rb提供分布式系统性能测试方案。
2.&&&&&&nbd_prepare.sh和测试网络块存储nbd读写性能相关的用例。
&controller目录:
1.&&&&&&dd.sh大文件的dd操作的用例。
2.&&&&&&mysql.rb提供数据库进行性能测试方案。
3.&&&&&&mysql.sh对MySQL的访问用例。
4.&&&&&&svn.sh小文件copy操作的用例。
七、RR的其他特点:
LPM是一个监控Linux主机性能参数的类库,带有一个web server,提供网页访问接口,前提是你安装过&sinatra&。主要监控的是Linux主机性能常用参数,比如主机CPU、Load和Memory等,还可以监控单个进程的参数指标比如单进程消耗的CPU等。LPMP将使用LPM提供的数据,提供一个对外的统一监控界面,LPMP能够支持分布式多服务器端监控。将它们和RR合并使用,可以对分布式服务器进行测试及监控。
可能RR还不够完善,但是它开源免费,而LR需要收费,所以可以根据需要来选择RR或者LR。理解RR的实现方式可以参考LR。
八、还没有完成的地方:
1.&&&&&&activerecord的调用改为active_record。
2.&&&&&&需要配置数据库才能用到RR的数据库功能。
3.&&&&&&没有分布式的环境进行测试。
4.&&&&&&与“倩女幽魂”项目的合并。
5.&&&&&&自己写一个实例。
九、参考资料:
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:12913次
排名:千里之外
转载:10篇
(1)(2)(2)(2)(4)(2)(3)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 loadrunner做性能测试 的文章

 

随机推荐