51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

楼主: lsekfe

【你来问我来答第53期】:Fin助你锁定性能测试切入点(已结束)

[复制链接]

该用户从未签到

发表于 2014-12-2 20:07:09 | 显示全部楼层
楠族开心果 发表于 2014-12-2 13:04
难得看到fin总露脸,庆幸庆幸呐

回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-12-2 20:28:18 | 显示全部楼层
Miss_love 发表于 2014-12-2 13:07
感谢您百忙之中抽出宝贵的时间对我的问题进行回复,谢谢
目前在测试一个web项目,机制是点击按钮后,会 ...

@Miss_love 您好!
    这个问题我们还需要从系统层面考虑,不仅仅是WEB服务器和TOMCAT层面这么简单。我们知道不同的操作系统对文件的操作方式不太一样,但是会有限制,打开文件读取文件这些都需要调用系统进程,那么有些系统该进程的调用也是有限制的。
比如以前用32位某操作系统的内核最大只能对一个文件写入2T容量。超过容量后会报错,进程僵死甚至导致系统逻辑混乱。最后换了64位,并且由操作系统厂商的专家分析定位后定制了最新补丁,才解除限制。
虽然这个例子不是你遇到的问题,但是给你提供一个思路,需要考虑一下这方面的东西。
    当然也要考虑I/0、MEM、CPU等各项系统指标使用率过高导致。
    可以认为当前系统环境下,当前配置下,系统确实达到了读取文件的瓶颈。处于安全性考虑,就需要给项目组建议文件处理尽量控制在260 甚至更低的一个指标条件下,保证系统的正确性。
    但是,测试还没有完,我们需要对该指标做稳定性评估。 尽可能持续运行时间长一些。 说不准还有其它现象。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-12-2 20:43:42 | 显示全部楼层

@yinxiaodan 您好!
    首先 你需要一个 测试环境 与 生产环境的 硬件资源对比分析。(包括资源比例,操作系统一致性,版本一致性,网络以及带宽层面对比等等)
    然后 检查测试环境与 生产环境 参数文件是否一致。(包括配置参数,操作系统参数,JVM参数,版本,如果有F5等负载均衡设备我们需要考虑负载均衡策略)(问题很可能在这个环节被找到!)
    以上两步中很可能就发现问题了。如果没有发现问题,那么我们再去逐一分析瓶颈定位,把应用处理时间戳 和 数据库处理时间戳 打出来进行范围缩小,最终锁定耗时大的地方(最好生产环境时间戳也打出来对比即可)
    上述的所有思路是建立在你的脚本、并发策略没有问题的条件下。因为生产环境可以达到很高的处理能力,我就没有考虑这块的问题。
    希望能够帮到你~
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-12-2 21:04:26 | 显示全部楼层
本帖最后由 Fin 于 2014-12-2 21:56 编辑
唯一的色彩 发表于 2014-12-2 13:56
您好,请问如何对手机应用进行性能测试呢(主要测响应时间和并发)?目前情况是用的第三方开发的手机应用, ...

@唯一的色彩 您好!

根据你的描述我归纳3条线索:

1. 你的测试目的: 响应时间、并发量;
2. 实施中遇到的问题:LR12 免费版 50 LICENSE问题;
3. 当前优势条件:你有现成的报文。

我们先来解决LR12用户数限制的问题,两个思路:
1.继续使用LR12 , 可以用两个以上的CONTRLLER 一起发送,叠加处理能力。(如果条件允许的话)
2.可以采用LR11及更低的版本 额...我说的是学习版。 就是网上那种.. 如果幸运的话,脚本直接可以在11上面执行。 若出问题,只需要替换某些函数即可达到目的。

根据你当前的优势条件,有现成报文,那么直接在LR11上面进行接口调用来做脚本即可达到你的测试目的(即以接口调用的形式测试后台服务器性能)。
采用 webService、web/http、socket都可实现。 这三种调用方法在云层的视频空间里面我都有做过视频,可以参考一下。希望对你有帮助。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-12-2 21:38:41 | 显示全部楼层
韩小宥 发表于 2014-12-2 14:45
c2c的网站性能测试 侧重点在哪?

@韩小宥 您好!

C2C 这类电子商务类网站 优先级从高到低排列为 1.安全性;2.客户体验度;3.性能;
在安全性与客户体验度的前提保障下,再对网站的性能进行适度优化。若安全性或者客户体验度与性能分歧冲突,那么偏向前两点。
排除掉前两点后,我们来分析 C2C 的性能要考虑到的主要因素,不一定全面,仅作参考。

1.根据业务角度分析,C2C 最大的业务应该是 查询与检索。甚至有些做的比较好的对其进行同类产品对比分析等功能的实现。这类用户行为对数据库的压力是比较大的。那么首先应当考虑做数据库的性能评估。
2.其次,有些网站对用户操作行为,访问历史,关注偏好 等等做大数据分析后,给用户展现在页面上面,做一些实时刷新等页面功能来增加用户体验度行为,大数据分析对数据库的考验也是比较大的,另外还有很强编码逻辑复杂度,也是性能损耗的一个硬伤,例如以前的一个历史案例,该网站首页上面记录当前某票务的剩余张数,每次刷新系统都会去数据库中检索取值,这其实涉及到了系统安全性,而没有考虑到性能问题。最后我们提出了这个问题后,动员大家做了一个测试,打开我们的网页,同时按住F5刷新,瞬间服务器崩溃...领导一怒之下取消了这一功能。 当然,我们是有很多方法去规避控制这个安全风险,具体方法就不再这里多言了。
3.还有C2C网站对“同时在线用户数”(注意是同时在线,而不是并发数)很重视,因为商家基本正常工作时间都在线,回答解析问题等等操作,对这类的业务量也是很大的。
4.最后是支付类业务,这类业务这类业务的量其实并不大,但是很重要,安全性首当其冲。可以允许它响应时间比较慢,但是绝对不能报错之类的页面行为。
5.特殊业务,节日庆典,网站活动,这类现在常有的热门业务,我们可以把它归类为特殊业务,业务特点为,查询集中,交易量极大,对特定产品的交易压力不符合日常交易行为。 这类场景要单独拿出来作为一个测试重点。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-12-2 21:53:19 | 显示全部楼层
julyzd123 发表于 2014-12-2 15:35
十分感谢,还是有一个问题,带宽测试听人说只要算一下就行了啊,是这样的吗?

@julyzd123 您好!

这个说法应该不太合适的。 带宽计算确实是性能测试的一个手段。
技术层面还需要考虑一些其它的,比如带宽稳定性,路由策略的合理性, 流量控制策略的有效性;
从带宽分类层面分析还要对 共享带宽和独享带宽,城域,广域,局域网的分析;
如果针对互联网层面,还需要考虑 各大代理商之间的流量限制等等问题。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-12-2 21:54:24 | 显示全部楼层

是的
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-12-3 10:06:02 | 显示全部楼层
我想问的是性能测试环境管理相关的问题:假如现在有两台物理服务器A、B,应该怎样管理才能快速搭建有效的性能测试环境?

背景:
1、生产环境下,项目部署一般是应用服务器+数据库服务器,小项目部署在虚拟化服务器,大项目则部署在物理服务器上。小项目服务器一般按照通用配置搭建,如CPU4核内存4G等;
2、公司要求所有项目上线前均需要进行性能测试。

我有两种解决方案:
1、物理机模式:将A服务器作为应用服务器,B服务器作为数据库服务器,存在的问题是测试环境A、B的配置均优于生产环境上小项目的通用配置但又低于大项目的配置,如果采用这种模式,对小项目的测试结果就不准确;
2、虚拟化模式:可以解决物理机模式下的问题,但虚拟化也有其他问题,如大项目在虚拟化环境下的测试结果与生产环境下物理机的差异有多大?性能测试是是否也需要监控宿主机的资源使用情况?

上述两种方式各有利弊,您觉得哪种更好?说说理由。或者还有更好的方式?目前业界上通常使用哪种方式来管理?谢谢。
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2015-8-31 10:06
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    发表于 2014-12-3 10:45:31 | 显示全部楼层
    请问一下,关于手机app,app服务器的性能测试怎么做呢?手机app需要关注其内存占用,cpu占用,启动等性能,那应用服务器呢?
                                                                                                                       谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-3 13:44:42 | 显示全部楼层
    Fin 发表于 2014-12-2 21:04
    @唯一的色彩 您好!

    根据你的描述我归纳3条线索:

    用两个以上的CONTRLLER 一起发送,叠加处理能力?
    怎么用2个做CONTRLLER叠加处理?是在2台电脑上装2个loadrunner,然后一起运行同样的脚本吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-12-14 13:59
  • 签到天数: 113 天

    连续签到: 1 天

    [LV.6]测试旅长

    发表于 2014-12-3 14:04:43 | 显示全部楼层
    老师好,
    在性能测试时,测试机和客户实际的环境配置是不一致的,测试环境的数据只能作为参考,有没有什么换算规则,来估算配置最优?谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-3 19:02:11 | 显示全部楼层
    ruituir 提出的问题:
    我想问的是性能测试环境管理相关的问题:假如现在有两台物理服务器A、B,应该怎样管理才能快速搭建有效的性能测试环境?

    背景:
    1、生产环境下,项目部署一般是应用服务器+数据库服务器,小项目部署在虚拟化服务器,大项目则部署在物理服务器上。小项目服务器一般按照通用配置搭建,如CPU4核内存4G等;
    2、公司要求所有项目上线前均需要进行性能测试。

    我有两种解决方案:
    1、物理机模式:将A服务器作为应用服务器,B服务器作为数据库服务器,存在的问题是测试环境A、B的配置均优于生产环境上小项目的通用配置但又低于大项目的配置,如果采用这种模式,对小项目的测试结果就不准确;
    2、虚拟化模式:可以解决物理机模式下的问题,但虚拟化也有其他问题,如大项目在虚拟化环境下的测试结果与生产环境下物理机的差异有多大?性能测试是是否也需要监控宿主机的资源使用情况?

    上述两种方式各有利弊,您觉得哪种更好?说说理由。或者还有更好的方式?目前业界上通常使用哪种方式来管理?谢谢。

    ----------------------
    smh_dss 提出的问题:

    在性能测试时,测试机和客户实际的环境配置是不一致的,测试环境的数据只能作为参考,有没有什么换算规则,来估算配置最优?谢谢

    -----------------------------------------------------------------
    @ruituir; smh_dss 二位好!

    这两个问题我合起来聊一下:

    我的想法是,本着以下原则:
    1. 性能测试环境 尽可能 与生产环境 配置相近, 但是不要高于生产环境。因为高于生产环境没什么意义, 除非特殊需求“生产环境迁移前比对性能测试”,或者“服务器选型测试”等类别。
    2. 生产环境是 物理机情况下, 那么建议性能测试环境也用物理机。 生产环境是虚拟机环境,那么性能测试环境建议也用虚拟机环境。 这样性能测试结果比较有参考价值。
    3. 因条件不允许, 性能测试环境 低于 生产环境很大的前提条件下, 以性能测试需求指标为准作为性能测试出口准测,比如说最大处理能力要达到多少多少;规定多少用户并发下 响应时间要在几秒之内则通过达标。
    4. 要有硬性的系统资源使用率指标; 比如规定日常CPU平均使用率在95%的使用时间下,不能高于80%, 这样做是为了预留一些系统异常情况下要有充分的CPU%处理。也为对应应急的一种策略,如果CPU100%繁忙度了,一旦系统出了问题,基本操作命令都处理不了,那么基本等于无药可治了。想做一些分析都做不了。

    生产系统配比与测试系统配比估算的问题我是这样认为的:

    1. 一般来说,生产环境:测试环境 = 2:1 、  3:1、 4:1... 这样严格的配置下,比差越大,测试误差越大。 因为 1台服务器能处理100TPS,不等于2台服务器能处理200TPS。这个道理我想大家都懂。
    2. 如果不是严格比例,那么不建议再用比例方式去强推公式, 因为我们还得考虑,CPU型号,内存型号、以及软系统对不同型号硬系统的兼容度,磁盘I/O,转速,存储兼容性、老化性等各种我们无法控制的问题,在细分包括不同机房不同电压都在考虑范围内。 所以,遇到这种条件,建议用上面说的第3、4条 以性能需求指标为准作为性能测试出口准测。 保证低配置的性能测试环境下,指标达标。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-3 19:02:30 | 显示全部楼层
    云层 发表于 2014-12-2 21:41
    支持fin总。。。

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-3 19:04:45 | 显示全部楼层
    test90 发表于 2014-12-3 13:44
    用两个以上的CONTRLLER 一起发送,叠加处理能力?
    怎么用2个做CONTRLLER叠加处理?是在2台电脑上装2个loa ...

    是这样的,可以达到目的,只不过麻烦一些。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-3 19:20:44 | 显示全部楼层
    18780006280 发表于 2014-12-3 10:45
    请问一下,关于手机app,app服务器的性能测试怎么做呢?手机app需要关注其内存占用,cpu占用,启动等性能, ...

    @18780006280 您好!

    分成两个不同测试点考虑:

    先说APP服务器,这个和我们正常的性能测试没有本质区别,调用接口测试即可。性能测试基本都要关注CPU/MEM/IO等硬件资源开销。然后是处理能力与响应时间的达标值是否满足性能需求定位。这个是基本的性能测试方法。

    手机端性能测试,一般做的比较少, 多数是功能测试,用不同拼盘,型号的手机进行测试。 性能测试一般纳入手机自动化测试中一并进行测试,自动化工具可以识别出操作的时间,这个一般都是一手机一个操作,并发的可能性不大。所以我们一般都是做自动化的时候一并进行性能指标达标测试。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-4 08:18:04 | 显示全部楼层
    请教5个问题,期待您的回复:
    1.WebService (WebAPI)的性能测试工具用什么比较好,我没有找到合适的,LR只支持SOAP的
    2.怎么获得详细的性能测试需求
    3.如何确定并发数
    4.在开发阶段如何有效的做性能测试,尽早的避免一些性能问题,比如代码(从测试人员的角度)、数据库等
    5.能推荐几本书吗,比如常用中间服务的一般性异常并能处理,如fdfs,membcache,mysql,tomcat等、tomcat的资源监控(JVM内存,线程等)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-4 14:13:09 | 显示全部楼层
    您好,我是这个圈子外的人但也准备进入这个圈子了,想请教一下该怎么进入性能测试这个圈子,请您给些建设性的建议。
    最希望的是您能给我设置一个课题,并围绕这个课题展开性能测试实战,也包括软硬件的配置介绍等相关准备工作,让我可以先认识性能测试再到后续的熟悉性能测试,
    谢谢。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-4 15:29:22 | 显示全部楼层
    老师,您好。请教几个问题:
    1  对于比价网站(比如挖东西)性能测试   重点关注哪几个方面(并发,TPS,搜索引擎,数据库优化),测试场景一般取哪些
    2  使用LR11    录制脚本,回放脚本成功,但是录制脚本中 字符有乱码,百度后也没有找到解决办法,能给个好的解决方法吗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2014-12-4 15:32:29 | 显示全部楼层
    老师您好,有几个问题请教下:
    1  对于比价网站(比如挖东西)性能测试 重点在哪几个方面(并发用户数,TPS,数据检索),场景一般设置哪些
    2  使用LR11录制脚本,回放脚本成功,脚本中字符有乱码,百度后也没有解决,能给个解决方法吗
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-19 05:22 , Processed in 0.077307 second(s), 20 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表