欢迎来到天天文库
浏览记录
ID:19213749
大小:23.43 KB
页数:13页
时间:2018-09-29
《方案设计思路是什么》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、方案设计思路是什么 方案设计是设计中的重要阶段,它是一个极富有创造性的设计阶段,同时也是一个十分复杂的问题,它涉及到设计者的知识水平、经验、灵感和想象力等。下面小编给大家带来方案设计思路,欢迎大家阅读。 1. 测试目的 为什么测?目的在于测试系统相关性能能否满足业务需求。通常分以下两种情况: 1)新项目上线 2)老项目优化 如果是老项目优化,可考虑是否存有历史测试方案,如果有可以参考,或许可以省事很多。 2. 测试对象 要测啥? 测试对象可以归结为“业务功能”。测试前,需要了解我们需要测试的业务功能有哪些,比如“购买商品”、“寄送快递”。 有没有必要测?
2、需求来源哪里?,有没有数据支撑测试这个需求的必要性? 通常,可以从以下几个方面考虑: 1)是否核心功能,是否要求严格的质量 2)是否常用、高频使用的功能 3)可能占用系统较多资源的功能 4)使用人数多还是少 5)在线人数多还是少 3. 拆分对象 先从业务上来分,实现这个完整的功能包含哪些流程、环节 举例:购买商品 登录->搜索商品->提交订单->支付订单->退出 然后从功能实现上来看,怎么实现这个完整功能的。通常这些业务功能操作都对应着一个或多个请求(可能能是不同类型的请求,比如http,mysql等),我们要做的是找出这些操作对应的请求,请求之间的顺序是怎
3、么样的。 4. 指标分析 分析性能需求指标是否合理 有必要测试这个需求,考虑需求指标是否合理?有没有数据支撑? 通常,支撑数据可以从以下方面考虑: 1)采样时间段内系统使用人数 2)采样时间段内系统在线人数 3)采样时间段内系统(页面)访问量 4)采样时间段内请求数 .... 常用分析思路: 1)2/8法则 2/8法则:80%的业务量在20%的时间里完成。这里,业务量泛指访问量,请求数,数据量等 2)正态分布 3)按比例倍增 4)响应时间2-5-8原则 就是说,一般情况下,当用户能够在2秒以内得到响应时,会感觉系统的响应很快;当用户在2-5秒之间得
4、到响应时,会赶紧系统的响应速度还可以;当用户在5-8秒以内得到响应时,会赶紧系统的速度很慢,但是还可以接受;而当用户在超过8秒后仍然无法得到响应时,会感觉系统糟糕透了,或者认为系统已经失去响应。 注意:这个要根据实际情况,有些情况下时间长点也是可以接受的,好比12306 举例: 某公司后台监控,根据一段时间的采样数据,分析得出日高峰时段(11:00-14:00)用户下单请求数平均为1000,峰值为1500,根据这个计算并发请求数 时段:3个小时->3x60x60=1080s 业务量:1500 吞吐量:1500*80%/(1080*20%)=请求数/s 假设用户下单遵循
5、正态分布,那么并发请求数峰值会肯定大于上述估算的吞吐量 注意: 1、2/8原则计算的结果并非在线并发用户数,是系统要达到的处理能力 2、如果要求更高系统性能,根据实际情况,也可以考虑1/9原则或其它更严格的算法 3、以上估值只是大致的估算,不是精确值 举例: 想了下,暂时没想到啥好的例子,大致就说一些涉及到数据量的性能测试,比如报表统计,或者是大数据挖掘,查询等,怎么去估算数据量? 数据生命周期: 一般来说,数据都是有一定的生命周期的,时间的选取需要结合数据周期考虑。这里假设3年后系统性能仍然需要满足业务需求。 数据增长率: 如果是老项目,可以考虑对应功能主表历
6、史数据存放情况 这里假设按年统计,比如第一年10000,第二年15000,第三年20xx0,第四年25000,那么我们得出,以第一年为基准,数据增长率分别为,1,,每年在上一年的基础上,以5000的速度增长 预估3年后,数据增长率为3,需要测试数据量为x10000=40000 注意: 1、实际数据一般是没上面举例那么规律的,只能大致估算数据增长率。 2、一些大数据量的性能测试除了和数据量相关,还涉及到数据分布等,比如查询,构造数据时需要结合实际,尽量贴近实际。 3、不同业务模块,涉及表不一样,数据量要求也是不一样的,需要有区别的对待。 如果是新项目,那就比较不确定了,
7、除非能收集相关数据。 结合需求分析中第3点,分析系统架构。 1)请求顺序、请求之间相互调用关系 2)数据流向,数据是怎么走的,经过哪些组件、服务器等 3)预测可能存在性能瓶颈的环节 4)明确应用类型IO型,还是CPU消耗性、内存消耗型->弄清楚重点监控对象 5)关注应用是否采用多进程、多线程架构->多线程容易造成线程死锁、数据库死锁,数据不一致等 6)是否使用集群/是否使用负载均衡 了解测试环境部署和生产环境部署差异,是否按1:1的比例部署 通常建议
此文档下载收益归作者所有