精华内容
下载资源
问答
  • 性能需求
    万次阅读
    2019-09-05 18:07:54

    性能需求分析

    需求分析是个繁杂过程,它并非我们想象的那么简单,而性能测试需求除了要对系统的业务非常了解,还需要有深厚性能测试知识。才能够挖掘分析出真正的性能需求。

    1、如何获得有效的需求

    1.1、客户方提出

    客户方能提出明确的性能需求,说明对方很重视性能测试,这样的企业一般是金融、电信、银行、医疗器械等;他们一般对系统的性能要求非常高,对性能也非常了解。提出需求也比较明确。
    曾经有一个银行项目,已经到最后的性能测试极端,因为数据库设计不合理,导致性能出现很大的问题,最终不得不把整合项目作废,对于这样的项目,其实从分析设计阶段就应该考虑系统的性能问题。性能测试也一样,对于某些项目来说越早进行越好。当然,前期的性能测试为单元性能测试、接口性能测试,有别系统性能测试。

    2、根据历史数据分析

    对于一些面向用户的独特产品,比较难定位市场的大小,可以先上一运营一段时间,通过运营可以搜集客户资料,比如,每月、每星期、每天的峰值业务量是多少。用户以什么样的速度在递增中。用户对系统的哪些功能模块使用的最多,他们所点的比例等等。收集到这些数据之后,我们就可评估系统的系统需求指标,从而进行性能测试。

    3、需求分析与定位

    这里根据前期的需求分析与定位,来分析确定系统性能指标。例如某省幼儿园管理系统。统计全省有多少家幼儿园,系统的使用时间为幼儿到校之后,管理人员对幼儿的到校情况进行录入,以及幼儿的午饭,放学情况的录入时间。经过与需求人员交流分析也能得到比较明确的性能指标。

    4、参考历史项目或其它同行业的项目

    如果公司之前有类似的项目经验,根据项目大小及上次性能测试的一些指标。从根据项目的规模可以制定出相应的性能指标。
    即使本公司没有类似的项目,但其它公司有类似的项目,例如做IPTV或者DVB计费系统的测试,可以参考电信计费系统的需求——虽然不能完全照搬数据,但是可以通过其他行业成熟的需求来了解需要测试的项目有哪些,应该考虑到的情况有哪些种。

    5、参考其它资料数据

    如果你做的是非常独特的产品,市场上没有此类型的产品,而且需求及市场也难以估计,那么只能从与产品相关的资料中寻找痕迹了。不过,相信这样不确定性的产品,老板要承担的风险也是挺大的。

    需要说明的是,我上面介绍的方面并非是独立的,可以综合的使用,你可以根据客户提出的指标,再根据历史数据以及参考同类型项目来进行。这样可以更确定你的性能指标是客户(或自己)真正需要的、最符合项目需求的。

    2、性能测试点的选取

    *  发生频率非常高的(例如:某核心业务系统中的登录、收发等业务,它们在每天的业务总量中占到90%以上)
    *  关键程度非常高的(产品经理认为绝对不能出现问题的,如登录,扫码,支付等)
    *  资源占用非常严重的(导致磁盘I/O非常大的,例如某个业务进行结果提交时需要向数十个表存取数据,或者一个查询提交请求时会检索出大量的数据记录)

    3、常见性能需求

    1、接口的响应速度达到300ms以下。
    2、系统服务支持50万个在线用户
    3、接口成功率达到99.5%以上。
    4、在100个并发用户的高峰期,系统的基本功能,处理能力至少达到10TPS
    5、这个系统能否支撑200万的vu(每天登录系统的人次)          vu----Virtual user(虚拟用户)

    "不成文"的性能需求指标:
    80/20原则:又称帕累托效应,比如,某一些系统一天中80%的访问量集中在20%的时间内。

    4、下面来分析某移动支付的需求:

    按照2018年日交易笔数的目标为1000万笔:

    如何得到每秒的交易笔数?

    一: 严格的根据2/8原则  ,80%的订单集中在20%的时间生成。

    集中订单交易数:  10000000*80%=8000000笔

    集中发送的时间:24*20%=4.8小时=17280秒

    每秒生成的订单数:8000000/17280=462.9笔/秒

    二:另外的200W交易笔数请求分布在另外的23个小时内,因为考虑到半夜之后基本没什么请求量,假设另外的200W次请求分布在10:00-24:00,那么我们另外一个指标是 2000000/14/3600 = 39.68 (稳定支持这样的TPS)

    5、性能测试场景设计

    峰值场景设计: 设计符合业务场景的高压力场景,比如大量并发集中在半小时-1小时内

    稳定场景设计: 8-10小时的长时间稳定压力场景

    性能瓶颈压测场景: 逐步增加压力,寻找业务请求瓶颈(适用于没有业务指标,技术优化类)

    秒杀类超大并发场景设计: 测试秒杀场景

    6、性能测试通过标准

    达到目标预期

    回复

    发现帮助中心更新日志数据安全关于我们服务协议反馈English

    更多相关内容
  • 性能测试知多少---性能需求分析

    千次阅读 2021-07-23 08:10:01
    性能需求点的描述准确如**系统必须在不超过 10 秒的响应时间内,处理 20 起登录任务。再如发邮件时间最大不超过5秒以及平均时间在2秒以内。一致用户和性能测试工程师对有关术语的理解要一致,如:并发用户数、在线...

    对性能需求点的描述

    准确

    如**系统必须在不超过 10 秒的响应时间内,处理 20 起登录任务。再如发邮件时间最大不超过5秒以及平均时间在2秒以内。

    一致

    用户和性能测试工程师对有关术语的理解要一致,如:并发用户数、在线用户数、注册用户数:

    特定

    性能测试的需求一定是有条件的。

    检查系统后台关键业务数据10G、操作数据量为20K, 1500 个用户、500 个并发用户运行的负载下,连续运行12小时过程中,业务操作是否满足性能需求。

    常见性能需求

    1、WEB首页打开速度5s以下,web登陆速度 15s以下。

    2、邮件服务支持50万个在线用户

    3、计费话单成功率达到99.999%以上。

    4、在100个并发用户的高峰期,邮箱的基本功能,处理能力至少达到10TPS

    5、系统能在高于实际系统运行压力1倍的情况下,稳定的运行12小时

    6、这个系统能否支撑200万的vu(每天登录系统的人次)          vu----Virtual user(虚拟用户)

    如何把需求转换成性能指标

    我们把200万vu转换成一系列的指标

    ™响应时间:根据国外的一些资料,一般操作的响应时间为2,5,10秒,2秒内优秀,5秒内良好,10秒内可接受,其它一些特殊的操作,如上传,下载可以依据用户体验的情况,延长响应时间。

    ™吞吐量:可以根据已经上线的类似产品进行估计。或者,采用80/20原则进行估计。我们经常使用的是80/20原则。

    80/20原则:又称帕累托效应,比如,80%的社会财富掌握在20%的人手里。

    应用于测试:从vu计算吞吐量?根据80/20原则,80%的用户会在20%的繁忙时间内登陆。则繁忙时间每秒大概会有(2000000*80%)/(24*3600*20%)=100个用户登陆 ,也就是说,登陆操作的吞吐量是100TPS

    如何根据性能需求进行测试

    其实我们上面得到的需求指标仍然是不明确的:

    是验证当前硬件和软件配置能否支撑200万vu?

    是测试当前的硬件和软件配置最多能支撑多少vu?

    是帮助开发寻找性能瓶颈?

    根据需求进行性能测试的过程:

    3d9d64a27bb9ef5bff6298ec26d15084.png

    32/3<123>

    展开全文
  • 非功能性需求之性能需求分析

    万次阅读 2020-07-06 11:50:14
    非功能性需求包括性能、可修改性、可用性、易用性、安全性、环境要求等,在最初的需求方案分析阶段很容易被忽略,而这些内容的考虑往往会影响到产品的实现,包括功能架构、操作...□性能需求分析对产品设计有哪些影响

    非功能性需求包括性能、可修改性、可用性、易用性、安全性、环境要求等,在最初的需求方案分析阶段很容易被忽略,而这些内容的考虑往往会影响到产品的实现,包括功能架构、操作方式、界面展现、后台处理方式、数据库设计方式等,所以到产品集成测试甚至回归测试时才考虑性能,往往就为时晚矣,可能就需要大量修改前期已完成的功能。甚至有些项目就是因为性能满足不了实际使用要求,导致整个项目的失败。

    本文结合近期工作,总结下非功能性需求中性能相关内容,包括以下几部分:

    □什么是性能需求分析

    □性能需求分析对产品设计有哪些影响

    □如何进行性能需求分析

     

    什么是性能需求分析?

    性能指标一般包括响应时间、吞吐量、并发用户数等。

    响应时间指功能完成的时间,和客观环境、数据量级、主观感受等都有关系。客观环境中硬件包括服务器配置、客户端机器配置等,软件包括数据库部署方式、客户端使用的浏览器等,另外还有网络环境。确定响应时间的指标,需要根据实际所需的数据量级来要求,例如项目管理中,一个项目包含1千条计划和1万条计划,功能本身的操作相应时间是不一样的,需根据实际情况确定指标要求。主观感受指用户的可接受程度,例如同样的响应时间,加上进度条等处理方式,用户感受就大为不同。

    吞吐量是给定时间内系统可处理的事务/请求的数量等,例如网络传输的数据流量。这个指标对于互联网软件更为关键,目前我们尚未进行定量分析和测试。

    并发用户数用来衡量系统的同步协调能力,我们更关注多个用户同时操作同一功能或数据时,对系统性能的影响。

    在产品的需求分析过程中,即需要针对业务对象、具体功能等,考虑这些指标的要求,进行需求分析和产品设计。

     

    性能需求分析对产品设计有哪些影响?

    功能层面:

    1.会影响到功能架构

    例如一个功能需要处理的内容很复杂,如果提前考虑到性能完全满足不了,很有可能就会考虑将该功能拆分为更小的单元,逐步再实现复杂功能。如果性能能满足,则可以考虑更为集成的功能架构方式。

    2.会影响到功能操作方式,进而影响用户体验

    例如,先分别设置部门、人员信息,再为部门添加人员,这种一对多的方式,和每次仅需新增一两条数据,操作方式对体验就影响很大。点击新增按钮,弹出人员选择页面,选中一条数据、点确定,这几个动作单独只需要做一次或两次,并不会让人觉得很繁琐。但是如果每次都必须新增几十条,那这种操作方式就很麻烦了,在最初设计功能时,就更可能会考虑设计为一次性批量多选的方式。

    3.会影响数据的展示方式:

    例如一个功能的数据量很大,可以考虑采用用分页、懒加载等方式。

    4.会影响页面的布局或查看方式等

    例如,一个树形结构,如果只有几十个节点,那么点击节点逐层展开还能接受,但是如果有成百上千条数据,可能就需要考虑更为合理的查看方式

    技术层面:

    需处理的数据量不同,对技术层面的设计也会影响很大,需求分析阶段提出来要求到就可以帮助技术人员在概要设计时进行考虑。

    例如数据库的设计方式。表数量、表结构、单表数据量等如果达到某量级,用惯常的方式性能就支持不了,就需要考虑采用特殊方式,例如读写分离等。

    例如服务器的部署方式。并发用户数或单一时间对应用服务器的请求次数多,就需要考虑服务器的处理能力,例如进行多Tomcat分压部署等,而是否采用这种方式也会影响到功能的详设。

    另外,需要注意不仅仅是针对业务对象进行分析,涉及到该对象的其他相关功能,如果增删改查等操作时会有关联,很有可能也会受到影响,需尽量考虑全面。

    如何进行性能需求分析?

    首先,需要明确哪些业务对象会有大数据量要求,响应时间指标是多少。

    业务对象可能会产生的数量级是多少?这和客户行业、规模、产品模式、使用方式等都有关系。如果有客户提出的比较明确的要求,可以作为参考,但是需要分析清楚是否合理、是否必要。也可通过问卷等形式收集具体客户的实际运行数据,还可以收集竞品的性能数据或行业常见标准,或询问售前或销售人员相关要求。

    第二,考虑功能对于并发用户数的要求。

    并非所有功能都需要考虑,可着重考虑频率高、更关键、资源占用严重的。有些是产品平台统一考虑的,例如登录、首页门户等,有些则需要根据业务情况考虑。有些互联网产品根据用户总数通过公式计算出并发数,但是企业软件更多需要从应用场景出发,估算并发数。例如有些功能每个部门使用人数是固定的,就可以结合部门数量估算,有些功能的使用时间比较固定,则可以根据该时段的应用人数估算。

    明确了数量要求后,在分析时就需要结合业务对象、场景等进行设计。例如功能响应时间较长时,可考虑增加提示性内容。据统计,空白等待会让人体验上延长时间的感觉,大多数用户只等待8.5秒左右就关闭功能或重启,使用漏斗或旋转圆圈等提示的界面会把用户的等待时间延长到20秒左右,使用动画的鼠标指针漏斗提示界面则会让用户的等待时间超过1分钟,而进度条则可以让用户等待到最后。实际需要时可结合功能场景,选择更适合的处理方式。另外,不同浏览器对页面的渲染速度差别很大,在时间、成本等允许的情况,可考虑多种浏览器,以提升产品的适用性。但是如果是项目型软件,或者已知目标客户的大多数浏览器标准,则适度进行支持即可。所以在分析时也需要考虑对浏览器的要求。

    最后,对性能需求的描述,需要做到准确无歧义,不能使用主观用语。目前一般操作响应时间要求为2、5、8,2秒内优秀、5秒内良好、8秒内可接受。上传下载等可依据用户体验情况,酌情考虑性能的指标要求。



    扫码体验

     

    展开全文
  • 数据库性能需求分析及评估模型

    万次阅读 2017-11-22 17:05:50
    数据库作为应用系统当中最重要的一块,也是性能测试非常关注的一块,根据我自己的项目经验,和以往对应用系统的性能需求分析和测试策略制定过程,总结一下如何开展数据库系统的性能需求分析,以及制定数据库能力评估...

           数据库作为应用系统当中最重要的一块,也是性能测试非常关注的一块,根据我自己的项目经验,和以往对应用系统的性能需求分析和测试策略制定过程,总结一下如何开展数据库系统的性能需求分析,以及制定数据库能力评估模型。

    一、数据库性能需求制定

    1、需求信息收集-任务/交易分布

    (1)收集有哪些主要交易任务(与业务系统需求一致)

    (2)在一天的某些特定时刻系统都有哪些主要操作,以及操作量

    2、需求信息收集-交易混合图

          需要关注的信息有:

    Ø   高峰期有哪些操作?

    Ø   中间件操作有多少?数据库操作有多少?

    Ø   如果任务失败,那么商业风险有多少?

    Ø   有没有涉及保密系数高的数据?

          测试选型标准:高吞吐量、高I/O、高商业风险

    二、数据库能力需求

     

    1、高吞吐量

          满足高并发下的大数据量交互需求,满足数据备份或ETL过程的大数据量迁移。具体需求信息获取参照以上数据库应用需求。

    2、负载均衡

          满足高并发下数据库的负载均衡能力,需求分析需要收集数据库的部署架构、负载均衡策略等数据信息。

    3、读写分离

          获取需求的要点是明确哪些是写节点,哪些是读节点,并且切换的策略什么,数据同步的策略是什么。

    4、分区分片(分库分表)

          获取需求的要点是把握数据的垂直切换和水平分库概念。明确需要对哪些数据块进行切分,分别分散到哪几台数据库主机上;需要对哪些大表进行数据水平切分,并且分布到哪些DB或table中。通过需求分析,做出数据切分的合理性判断,以及做出系统可测性的判断。

    5、高并发

          根据以上的数据库应用需求,进一步制定数据库的高并发需求,估算出单台数据库的API接口压力和需要满足的并发能力。

    6、高可用性

          高可用性可能也综合涉及到数据的多项能力,主要应用的是集群技术,HA容错及互备技术,体现的是无故障运行。获取需求的要点是明确高可用性技术架构,了解HA采用的工作方式,以及掌握故障切换方法和数据一致性验证需求。

    三、数据库评估模型

    (一)关键业务时间指标

           在我们的印象中,应用的关键业务能够提供真正的用户行为洞察——他们捕捉实时性能数据,展现真实用户在交互时的用户体验。衡量一个关键业务的性能包括捕捉交易的整体响应时间以及测量其不同层面的响应时间。这些时间都可以满足你业务需要的基准做比较。

          如果你只想测量应用的某个方面,关键业务流程是最佳选择。虽然容器指标可以提供丰富的信息,可以帮助你确定何时自动缩放您的环境,但业务流程交易还是决定着你的应用性能最终效果。不管你作为什么规模公司的程序“猿”,都应该首先关心你的用户是否可以完成他们的关键业务流程。

           一旦你定义了整个关键业务,性能好坏就是衡量整个应用生态系统的最好标准。我们需要设定低于平均关键业务响应时间的交易为异常行为,这样就能更好的观察应用的性能了,如下图所示。

          那么问题来了,怎么设定关键业务的标准呢?

          这里提供一个简单的方法供大家参考:假设关键业务在周三13:00~14:00是一个常见的高峰,那么选择这个时段平均响应时间作为标准,等到下周三的同一个时段,再将这周的这个时段的所有关键业务平均响应时间与前一周相比得到一个平均值,如此循环。通过这个机制,应用可以随时间而发展,而原始的关键业务数据也变得更有意义。关键业务的监测是用户体验中最具反思性的测量方法,因此它们是能捕捉到的最重要的指标之一。

    (二)SQL性能指标

          查询的性能主要体现为SQL查询缓慢和数据返回时间过长。那么我们要怎么解决它呢?下面是测试需要重定关注的:

          1、数据的查询方式对传输效率的影响,比如选用了更多的数据:查询返回的列太多的话会导致在选择行和检索数据时造成缓慢(如使用了SELECT*,没有列出所需的列)。此外,在结果中列出所需的列,也能减少数据传输,有利于性能的提升。

          2、重点关注索引的应用,对于只是访问表中的几个字段,并且字段内容较少,可以为这几个字段单独建立一个组合索引,这样就可以直接只通过访问索引得到数据,一般索引占用的磁盘空间比表小很多,所以这种方式可以大大减少磁盘IO开销。

          3、关注慢SQL执行计划及优化:SQL执行计划是关系型数据库最核心的技术之一,它表示SQL执行时的数据访问算法。当业务需求越来越复杂,表数据量越来越大,SQL也需要支持非常复杂的业务逻辑,但SQL的性能还需要提高,因此,优秀的关系型数据库除了需要支持复杂的SQL语法及更多函数外,还需要有一套优秀的算法库来提高SQL性能。

          4、关注批处理对性能影响:读取大量的数据或生产复杂的分析报告时通常都是在批量操作。这些操作是资源密集型,可能会影响在线用户的性能。想要解决这个问题需要将这些操作在低负载下进行,如在夜间;或使用单独的数据库来处理和分析报告。

    (三)锁及粒度

          数据库一般都允许多用户的存在,多个用户同时活动必然会导致冲突,然而正常工作中这种情况又无法避免,所以测试需要关注的是锁的应用与性能的平衡关系:

          1、页/行锁定:当一个用户试图读取另一个用户正在修改的数据,或修改另一个用户正在读取的数据时,又或者尝试修改另一个事务正在尝试修改的数据时,就会出现并发问题。这时候资源就会被锁定。

          可以锁定的资源在粒度(granularity)上差异很大。从细(行)到粗(数据库)。细粒度锁允许更大的数据库并发,因为用户能对某些未锁定的行执行查询。然而,每个由数据库系统产生的锁都需要内存,所以数以千计独立的行级别的锁也会影响数据库的性能。粗粒度的锁降低了并发性,同时消耗的资源也较少。

          2、死锁:死锁是数据库性能的重量级杀手之一,然而死锁却是不同事务之间抢占数据资源造成的。死锁耗时耗资源,然而在大型数据库中,高并发带来的死锁是不可避免的,所以我们只能让其变的更少。

    ①按照同一顺序访问数据库资源

    ②保持事务的简短,尽量不要让一个事务处理过于复杂的读写操作。事务过于复杂,占用资源会增多,处理时间增长,容易与其它事务冲突,提升死锁概率。

    ③尽量不要在事务中要求用户响应,比如修改新增数据之后再完成整个事务的提交,这样延长事务占用资源的时间,也会提升死锁概率。

    ④尽量减少数据库的并发量(通过优化架构实现)。

    ⑤尽可能使用分区表,分区视图,把数据放置在不同的磁盘和文件组中,分散访问保存在不同分区的数据,减少因为表中放置锁而造成的其它事务长时间等待。

    ⑥避免占用时间很长并且关系表复杂的数据操作。

    ⑦使用较低的隔离级别,使用较低的隔离级别比使用较高的隔离级别持有共享锁的时间更短。这样就减少了锁争用。

    (四)硬件资源指标

          然而并不是所有的数据库性能问题都是来自数据库本身,我们日常工作中最常见的另一个情景就是数据库的硬件有若干问题,这里我们简单的介绍一下可能会出现的情况,毕竟市面上有已经有很多工具可以监测这些问题了。

    1、没有足够的CPU或CPU速度太慢:更多的CPU可以分担服务器的负载,从而提高性能。

    2、慢的磁盘没有足够的IOPS:磁盘性能可以描述为每秒输入/输出操作(IOPS),它表示每秒磁盘的吞吐量。

    3、配置不正确的磁盘:数据库需要效果明显的磁盘访问,配置不正确的磁盘会造成相当大的性能影响。

    4、没有足够的内存:受限或不好的物理内存影响数据库性能,可用的内存越多,性能越好。

    (五)NoSQL

          NoSQL发展到今天,已经有了很大的吸引力,因为它处理大规模数据和高并发的能力非常显著。但是,NoSQL却很难测试,也不容易监控。

    1、NoSQL特性:关系型SQL已经成熟,有行业标准接口,但是每一个NoSQL都是独一无二的存在,并且都不支持复杂的数据库模型。所以简洁、有效、速度是它的业务应用标准。

    2、集群化和负载均衡:NoSQL数据库相比关系型数据库通常更多的是资源密集型。它们需要更多的内存和内存分配,集群化和分布式是评估要点;

    3、扩展性要求:随着数据库的需求增加,硬件也必须扩展,可扩展性是一项评估要点。

    4、高可用性要求:可以说NoSQL对稳定性的要求更为苛刻(因为它们有些是基于内存的数据库),高可用性是重要评估点。

    5、监控要求:相对于已经成熟的关系SQL,NoSQL现在的监控可以说是比较困难的,国内也只有听云一家公司能够支持主流的Memcached, MongoDB, Redis等非关系型数据库服务(但是NoSQL监控部分要收费);ApplicationsManager也支持对Memcached, MongoDB,Redis、HBase、Oracle NoSQL的监控(这些的监控指标还不够丰富,有待完善)。

    (六)扩展架构模型

    1、数据切分和分布式

          数据切分可以是物理上的,对数据通过一系列的切分规则将数据分布到不同的DB服务器上,通过路由规则路由访问特定的数据库,这样一来每次访问面对的就不是单台服务器了,而是N台服务器,这样就可以降低单台机器的负载压力。数据切分也可以是数据库内的,对数据通过一系列的切分规则,将数据分布到一个数据库的不同表中。

    (1)数据垂直切分

          数据的垂直切分,也可以称之为纵向切分。将数据库想象成为由很多个一大块一大块的“数据块”(表)组成,我们垂直的将这些“数据块”切开,然后将他们分散到多台数据库主机上面。这样的切分方法就是一个垂直(纵向)的数据切分。

    (2)数据水平切分

          数据的垂直切分基本上可以简单的理解为按照表、按照模块来切分数据,而水平切分就不再是按照表或者是功能模块来切分了。一般来说,简单的水平切分主要是将某个访问极其平凡的表再按照某个字段的某种规则来分散到多个表之中,每个表中包含一部分数据。

    除了垂直切分、水平切分,还有其他的切分或分片方式,如导出切分、混合切分。

    (3)负载均衡和读写分离

          一般是通过负载均衡器,其职责就是定位到一台具体的DB服务器。具体的规则如下:负载均衡器会分析当前sql的读写特性,如果是写操作或者是要求实时性很强的操作的话,直接将查询负载分到Master,如果是读操作则通过负载均衡策略分配一个Slave。

          其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。在一般的互联网应用中,经过一些数据调查得出结论,读/写的比例大概在 10:1左右 ,也就是说大量的数据操作是集中在读的操作,这也就是为什么我们会有多个Slave的原因。
          但是为什么要分离读和写呢?熟悉DB的技术人员都知道,写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是会降低系统执行的效率。我们这样的分离是把写操作集中在一个节点上,而读操作在其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。

    (4)分布式存储

          分布式存储是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

          分布式存储利用的就是数据的切分,也叫数据分片,数据分片将达到以下三个目的:
    Ø 分布均匀,即每台设备上的数据量要尽可能相近;
    Ø 负载均衡,即每台设备上的请求量要尽可能相近;
    Ø 扩缩容时产生的数据迁移尽可能少。

          有了分布式存储,就会有分布式计算,这就是大数据的范畴了,在这里不多说。

    2、Cache与Search的利用

          (1)结合传统关系型数据库和NoSQL两种类型数据库的优缺点,对于Oracle、Mysql这些数据库,可以通过引入Cache(Redis、Memcached),减少数据库的访问,增加性能(主要是解决传统关系型数据库的IO性能瓶颈,Cache都是基于内存的,大大减少了磁盘读写)。特别说明一下,这里说的Cache不是指数据库底层对应的Cache缓存,数据库层次的缓存一般针对的是查询内容,而且粒度也太小,一般只有表中数据没有变更的时候才发挥作用。我们这里说的Cache,是指外部引入的数据库缓存。
          (2)通过引入Search(Lucene、Solr、ElasticSearch),利用搜索引擎高效的全文索引和分词算法,以及高效的数据检索实现,来解决数据库和传统的Cache软件完全无法解决的全文模糊搜索、分类统计查询等功能。

          通过以上的数据库性能评估模型分析,我们就能把握数据库系统将要有的性能能力,并分析具体的测试范围和指标评估范围,以决定后期需要采用的测试方法、策略和工具。毕竟性能不是靠测试和调优出来的,是靠设计出来的,如果我们不了解数据库的能力模型和相应的架构要求,我们将很难深入开展相应的性能测试和性能调优工作。

    展开全文
  • 需求分析之性能需求

    万次阅读 多人点赞 2017-07-21 11:43:38
    需求分析之性能需求 1.数据精准度 1.1在执行数据的增加、删除、修改操作时,不允许因为程序原因导致操作失败; 1.2 在执行数据增加时,不允许发生多增加或重复增加的情况; 1.3 在执行数据删除时,不允许...
  • 5G 的应用场景及其性能需求

    万次阅读 2018-11-21 23:22:20
    本文经过多篇文章整理而成,参考 详解5G、5G 的应用场景及其性能需求 未来,5G将渗透到未来社会的各个领域,以用户为中心构建全方位的信息生态系统。 一、三个主要应用场景 eMBB (enhanced Mobile ...
  • 一个电商系统的性能需求例子

    千次阅读 2018-07-19 15:19:39
    客户的购物网站性能测试(业务)需求: 从12月下旬至农历年底(来年2月初)(&lt;=50天)网站预计营业额(400万),这里营业额可以理解为网站完成购买订单总金额; 访问订单转化率:10%,这里理解为百分之多少的...
  • 性能测试3-性能需求分析

    千次阅读 2018-01-21 23:03:16
     客户方能提出明确的性能需求,说明对方很重视性能测试,这样的企业一般是金融、电信、银行、医疗器械等;他们一般对系统的性能要求非常高,对性能也非常了解。提出需求也比较明确。  曾经有一个银行项目,已经...
  • 性能测试(2)---性能测试需求分析

    千次阅读 2021-07-23 07:34:52
    需求收集之后,我们已经从性能需求文档中提取出了业务性能测试指标,主要包括PV到TPS的转换以及响应时间要求,接下来我们需要进行进一步的需求分析过程。1了解系统架构、明确压力流向例如统一订购平台的系统架构图:...
  • 近期公司有一个项目需要进行性能测试(公司定制的OA系统),但是性能需求不是特别规范,需要测试工程师根据经验对需求进行分析。今天结合案例,和大家分享一下如何根据性能测试的需求,评估测试中的并发用户量。 ...
  • 性能需求分析案例

    万次阅读 2013-03-26 17:16:28
     一些性能测试人员常犯的错误就是,测试一开始就直接就对系统加压,不弄清楚性能测试的目的,其实性能测试和其他类型的测试一样,都需要先进行测试需求的分析,做相应的测试设计工作,否则测试工作无的放矢。...
  • 本文主要从技术的角度审视当前的LTE-advance网络,相对于5G的业务应用场合,还有多大的技术差距,针对这些技术差距,3GPP对5G系统提出的整体性能目标。
  • 性能测试需求文档

    千次阅读 2021-09-14 10:38:45
    在jmeter中添加meterPlugin,然后添加监测服务器的组件,并在组件中填写需要监控的服务器IP,选择监测CPU和内存条 性能测试报告 测试简介 本次性能测试主要针对xx系统2.0进行线上测试,测试地址为:192.168.1.1 本次...
  • 性能测试--需求指标计算

    千次阅读 2018-03-10 18:30:50
    来自:...才能够挖掘分析出真正的性能需求。如何获得有效的需求1、客户方提出 客户方能提出明确的性能需求,说明对方很重视性能测试,这样的企业一般是...
  • 获取性能需求1、引言2、性能需求获取2.1 用户信息2.1.1 调查系统当前和未来的用户数2.1.2 调查系统当前和未来的日活,月活数2.2 业务数据2.2.1 调查当前和未来的背景数量2.2.2 调查当前和未来业务每天使用的总笔数...
  • 性能需求指标

    千次阅读 2011-12-03 16:15:38
    有下一节和上一节 ...8.2.2 性能需求指标 2008-11-10 19:45 姜艳/于波 电子工业出版社 我要评论(0) 字号:T | T 综合评级: 想读(2) 在读(1) 已读(4) 品书斋鉴(0) 已有7人发表书评
  • 在线考试系统的性能需求分析

    千次阅读 2019-09-24 10:29:10
    当然,我们选择使用的在线考试系统,也有一定的性能需求,为了保证考试正常进行,系统性能设计应满足如下要求: (1)保证系统数据安全性 由于系统通过INTERNET提供服务,开放的环境中系统在权限控制、数据安全、...
  • 性能测试面试题精选(含答案)

    千次阅读 多人点赞 2022-05-20 15:11:32
    1)什么是性能测试? 答案:系统在一定的压力情况下,查看cpu,内存,磁盘,网络带宽,TPS、响应时间、并发用户数、等各项...期望结果是用户的性能指标需求得到满足。性能指标一般体现为响应时间、并发量等。 ...
  • 性能测试】性能测试的基本流程

    千次阅读 2019-03-14 18:23:20
    本文主要介绍下性能测试的基本流程,性能测试从实际执行层面来看,测试的过程一般分为这么几个阶段:性能需求分析、性能测试准备、性能测试执行、结果分析与调优、测试报告与总结
  • 为此我挑选了许久的电脑,作为一个老AMD,我把目光锁向了AMD今年新出的笔记本锐龙4000序列cpu(性能几乎都满足我的需求): 1、最终我选择了在某东购买的某普战66系列笔记本(4700u),下面是电脑的配置图:主要原因...
  • 性能需求点总概

    千次阅读 2011-12-03 16:16:14
    性能需求点总概 http://www.yd-itedu.com/  添加日期:09-11-27 17:19:14 来源: 进入论坛 在软件开发的编写合同或者招标书时,经常有性能需求方面的章节。在编写这部分内容时,...
  • 系统分析和需求分析

    千次阅读 2022-01-13 10:54:22
    【期望需求】 用户想当然认为系统应当具备的功能或性能,但并没有或不能正确地描述自己想要这些功能或性能。如果期望需求没有实现,用户会不满意。 【意外需求】 也称为兴奋需求。是用户要求范围外的功能或性能,...
  • 常见非功能性需求的描述案例

    万次阅读 多人点赞 2018-01-31 14:05:34
    非功能性需求是需求的一个重要组成部分,它影响了系统的架构设计,需要开发人员重点关注。...1、性能需求描述案例:响应时间:在95%的情况下,一般时段响应时间不超过1.5秒,高峰时段不超过4秒。定位系统从
  • 需求工程部分知识点

    千次阅读 2019-06-23 19:11:48
    常见的IEEE1998,将需求分为5类:功能需求、性能需求、质量需求、对外接口和约束。 优秀需求的特征(SRS):完整性、正确性、精确性、可行性、必要性、无歧义、可验证。 涉众:与待开发系统有利益关系的人员或组织。...
  • 需求分析(知识点总结)

    千次阅读 2021-01-31 14:50:25
    需求分析(知识点总结) 学习内容: 数据流图(Data Flow Diagram,简称DFD) 建模方法核心:数据流 特性: 1、抽象性:只有信息和数据存储、流动、使用以及加工的情况,所以描述的是抽象出来的数据 2、概括性:把...
  • 网上书店系统需求分析说明书

    万次阅读 多人点赞 2020-12-19 22:53:16
    网上书店系统需求分析说明书 项目组组长:丘佩茵 组员:林其庚、罗猛 1. 综述 1.1前言 传统的书店受时间和空间的限制,导致不能发挥更大的商业价值,所以网上书店已经成为了传统书店必须的经营路线之一。如何更好的...
  • 根据性能需求评估并发用户数

    千次阅读 2015-07-08 09:45:47
    近期公司有一个项目需要进行性能测试(公司定制的OA系统),但是性能需求不是特别规范,需要测试工程师根据经验对需求进行分析。今天结合案例,和大家分享一下如何根据性能测试的需求,评估测试中的并发用户量。并发...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,008,266
精华内容 403,306
关键字:

性能需求