大型网站性能测试方案的制定与实施(2)

性能测试数据如何准备?

1.  准备多少基础数据

数据库中的数据称之为基础数据,一个系统上线一段时间后库里都会有很多的基础数据,那么为了模拟性能测试真实环境,我们需要往库里插入一些基础数据后在做性能测试,那么插入多少数据呢?有几个点可以考虑:

第一个:可以参考具体系统的业务内容和使用规模

第二个:可以参考类似系统的数据量规模

第三个:尽可能多增加一定比例的冗余数据

具体来说就是可以跟项目团队一起分析预估出一个值,值的设定考虑到项目未来的发展和规模,如果存在竞品的情况下可以通过一些手段和途径获取类似系统的数据量规模,对于分析得到的值我们可以按一定比例来增加获取冗余数据,举个简单的例子我们分析得到某个系统预估是1年200万的量,那么我们可以按照一定比例如1:5设定我们的基础数据为1000万,让性能测试更加贴近真实场景又能保证未来数据量增加的情况下系统是否能够扛得住。

2.  用什么方法造测试数据

一般有以下几种:

第一个:

存储过程造数据,小技巧:批量插入,最后一次commit

优缺点:

造数据比较快,但是要对表之间关联结构很清楚,而且造出来的数据相对比较单一

另一个:

可以通过loadrunner或者jmeter等自动化工具从页面或者接口,调用写数据的接口或页面

优缺点:

造的数据更真实因为它是模拟用户入口去造数据的,但是造数据慢数据量大的时候耗时长

7

性能测试工具的选择?

1.  性能测试工具的选择

一般有以下几种:

Loadruner

自写的多线程压力测试程序

其他的第三方测试工具:webload、jmeter等

第一个Loadrunner虽然比较强大,但是它是收费的,很贵,据我了解身边很多用loadrunner的测试朋友大部分用的都是试用期或者盗版的,很少有公司愿意花这个钱买个正版的给测试用,盗版的一旦被查到,可能会被告死,特别是国际上的那些大公司被发现了使用盗版软件不说官司丑闻,就单单对公司形象的影响都是极为不利的。

第二个可以自己写一个性能测试程序,或者让开发帮你写

第三个用第三方测试工具来测试,目前比较流行的jmeter工具,它是开源免费的,支持自定义扩展,安装方便,但是本身的报表功能不是很强大,虽然有报表插件来弥补这一缺陷,但是用过loadrunner就知道对比jmeter的报表,jmeter还是没有loadrunner的报表方便和强大的

选择的标准:

能完成特定要求的性能测试要求即可,优先考虑使用强大图表和控制能力的loadrunner

8

Loadrunner的原理

Loadrunner(后面简称lr)主要由如下几个模块构成:

Vuser Generator(录制脚本编写脚本):

录制脚本、具备调试脚本的能力,如加关联、参数化等

Controller:

(场景设置):场景设定控制器,用于发起请求

load Generator:

(负载生成器)

Analysis:

漂亮的图表,进行测试结果报告分析

vuser generator支持录制或者手动编写脚本,支持进行优化调试脚本,controller负责安排load generator来运行脚本对被压测系统进行施压,load generator在测试结束会收集各自的脚本执行日志以及用户响应时间等数据,汇报给controller,由controller进行汇总测试数据

Analysis会针对汇总的测试数据进行分析展示,形成报表,让数据可视化,便利测试人员分析测试结果。

9

性能测试怎么做?

我们以loadrunner工具为例来进行说明,其他工具性能测试原理是一样的可以类推,我们讲的是具体的测试工具执行的一个流程,至于确定测试范围、测试环境搭建、测试数据准备等等这些在上面的章节已经讲过了,这里不再赘述:

1.  规划测试

顾名思义就是什么时间测什么,怎么测,规划好测试在什么时间进行,测试多少个场景,每种场景执行策略如何,保证后续性能测试工作有章法可循,而不是想到哪做到哪,这样容易漏测,该过程会出来性能测试方案和用例

2.  创建Vuser脚本

也就是测试脚本准备,lr是vuser脚本,jmeter就是线程组以及各请求的脚本编写,编写的脚本经过调试和优化后,保证独立模式运行能够成功,该过程会出来性能测试脚本

3.  创建测试场景

即按照测试方案和用例来配置脚本放到相应的场景中,为测试的运行做准备工作

4.  运行测试场景

即执行被添加到场景中的测试脚本对被压测系统进行施压的一个过程。

5.  监控测试场景

当我们执行测试场景的时候,还要监控测试过程,了解服务器等资源的消耗情况,监控收集请求响应时间、tps等性能指标

6.  分析测试结果

测试完成以后,对于收集到的测试日志和监控数据我们要进行分析,判定此次压测是否有效,被测试系统性能是否达标,该过程会出来性能测试分析报告。

对于以上的6步,当我们分析测试结果不达标以后,开发人员会对系统进行调优,调优完成后我们会进行再次的性能测试,也就是说上面的步骤可能不是一轮就结束了,会有循环的过程,而且在循环过程中测试脚本、测试策略以及加压方式都有可能会调整,目的都是为了更好的进行性能测试。(未完待续)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容