2022年Client-Server架构性能测试 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年Client-Server架构性能测试 .pdf》由会员分享,可在线阅读,更多相关《2022年Client-Server架构性能测试 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Client/Server测试C/S 结构与 B/S 结构的特点分析为了区别于传统的C/S 模式, 才特意将其称为B/S 模式。 认识到这些结构的特征,对于系统的选型而言是很关键的。通常,客户 / 服务器软件测试发生在三个不同的层次:1. 个体的客户端应用以“ 分离的” 模式被测试不考虑服务器和底层网络的运行;2. 客户端软件和关联的服务器端应用被一起测试,但网络运行不被明显的考虑;3. 完整的 C/S 体系结构,包括网络运行和性能,被测试。下面的测试方法是 C/S 应用中经常用到的:应用功能测试客户端应用被独立地执行,以揭示在其运行中的错误。服务器测试测试服务器的协调和数据管理功能,也考虑服
2、务器性能(整体反映时间和数据吞吐量)。数据库测试测试服务器存储的数据的精确性和完整性,检查客户端应用提交的事务,以保证数据被正确地存储、更新和检索。事务测试创建一系列的测试以保证每类事务被按照需求处理。测试着重于处理的正确性,也关注性能问题。网络通信测试这些测试验证网络节点间的通信正常地发生,并且消息传递、 事务和相关的网络交通无错的发生。1、系统的性能在系统的性能方面,B/S 占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S 系统的终端。不过,采用B/S 结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承
3、担, 这使得服务器的负担很重。采用 C/S 结构时, 客户端和服务器端都能够处理任名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - 务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML 格式为主,其它格式文件多半是以附件的形式存放。而 HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。2、系统的开发C/S 结构是建立在中间件产品基础之
4、上的,要求应用开发者自己去处理事务管理、 消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S 结构的软件需要开发不同版本的客户端软件。但是,与B/S 结构相比, C/S 技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S 技术应是更成熟、更可靠的。3、系统的升级维护C/S 系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大 。B/S 与 C/S 处理模式相比,则大大简
5、化了客户端,只要客户端机器能上网就可以。对于B/S 而言, 开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么 B/S 架构的产品优势明显所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S 模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。4、C/S 模式的优点和缺点 C/S 模式的优点 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快 。 操作界面漂亮、形式多样,可以充分满足客户自
6、身的个性化要求。 C/S 结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。 C/S 模式的缺点 需要专门的客户端安装程序,分布功能弱, 针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。 开发成本较高,需要具有一定专业水准的技术人员才能完成。5、B/S 模式的优点和缺点 B/S 模式的优点 具有 分布性特点 ,可以随时随地进行查询、浏览等业务处理。 业务扩展简单方便,通过增加网页即可增加服务器功能。 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 开发简单,共享性
7、强。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - B/S 模式的缺点 个性化特点明显降低,无法实现具有个性化的功能要求。 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 页面动态刷新,响应速度明显降低。 无法实现分页显示,给数据库访问造成较大的压力。 功能弱化,难以实现传统模式下的特殊功能要求。近年来,随着软硬件技术发展和人们意识的提高,Web应用得到广泛的普及,一方面在互联网浪潮的推动下,基于互联网的信息共享和电
8、子商务不断发展,像新浪、搜狐、8848 等大型网站不断涌现出来,另一方面随着Java、CGI 等网络技术的成熟,基于 B/S 结构的大型软件逐渐显示出巨大的优势。同时, 也就产生了一个焦点问题,什么样的服务器能够满足不同用户的需求, 怎么能够保证Web服务器能够长期稳定地运行,为了满足这样的需求Web测试也就同样变得十分重要。当前 Web测试主要通过Web测试工具加上良好的测试案例完成的,我们认为主要有以下两种测试类型:基准测试、非基准测试基准测试:主要指测试工具已经提供了标准的测试案例库,包括静态测试案例(HTM 、JPG )、动态测试案例(CGI)和 SSL测试案例等。这类测试工具分为测试
9、案例库、控制台程序、客户端程序三个部分。它的原理是,Web服务器开启特定的Web服务程序,并且运行上述测试案例, 由控制台程序控制各个客户端按照一定的脚本访问顺序遍历Web服务器的各个测试案例, 每个请求完成后,各个客户端向控制台报告访问的结构,当一个测试集完成后由控制台将所有的信息综合统计,测试过程中控制台还需要采用SNMP 协议对服务器进行实时监控,综合两个方面的因素可以反映出Web服务器在不同压力情况下的综合性能。在测试过程中,主要影响测试结果的因素有网络环境、客户端性能。目前无论IA 架构服务器还是SUN 、HP 、IBM的 UNIX服务器性能都越来越优越,有可能出现在100MB网络下
10、不能够提供足够的网络压力,有可能网络首先出现瓶颈,这样就需要扩展到1000MB网络环境或使用多个网段对服务器提供足够的压力,而稳定的客户端对于测试来说也是十分重要的,因为客户端如果出现性能下降,就会造成系统崩溃或者不能提供稳定的测试压力从而导致测试结果出现偏差; 一台客户端到底能够稳定运行多少数量的连接是根据不同的硬件配置和操作系统决定的,因此对客户端的硬件资源进行监控是保证客户端可以稳定运行的必要手段。由于这类测试工具使用的是工具开发商提供的测试案例集,虽然也具有一定的权威性,但是目前再完美的测试案例集也不能涵盖所有的Web应用情况,所以也不能够完全体现出Web服务器完整的性能,因此该类测试
11、工具更加适合IT 媒体对 Web类服务器软硬件的横向对比测试, 在测试对象和环境大体统一的情况下,可以比较出各个测试对象的性能差异。而对于有实际应用背景的Web服务器进行测试,使用这样的测试工具就不适合了,我们在以后的测试漫谈中会继续介绍。1. CS/CSS 系统架构的基本概念1.1 系统架构定义虽然 B/S 结构、 J2EE架构愈来愈成为流行模式,但基于传统的C /S 结构的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - - - 应
12、用程序还广泛地应用于各种行业。尤其是金融行业中的商业银行柜面核心帐务系统等。一方面由于传统商业银行一般都有大量的字符终端等需要复用的设备,一方面也是因为他们存在大量密集的对实时性要求很高的高柜业务,使用传统的基于 C/S 结构或者 C/S/S 结构的应用效率更有保证。C/S结构即 CLIENT/SERVER 结构。传统的 C/S 结构一般分为两层:客户端和服务器端。 该结构的基本工作原理是, 客户程序向数据服务器发送SQL请求,服务器返回数据和结果。 客户端负责实现用户接口功能, 同时封装了部分应用逻辑。服务器端的数据库服务器主要提供数据存储功能,也通过触发器和存储过程提供部分应用逻辑。C/S
13、/S 结构即客户 / 应用服务器 / 数据库服务器三层结构,中间增加了应用服务器,通常实现应用逻辑, 是连接客户与数据库服务器的桥梁。它响应用户发来的请求执行某种业务任务, 并与数据库服务器打交道, 技术实现上通常选用中间件产品,如 BEA公司的 TUXEDO 和 IBM公司的 CICS等。(事实上 J2EE架构的应用也属于这种三层或多层结构,这里不包括。)三层或多层 C/S 结构与两层 C/S 结构相比, 它的优势主要表现在: 安全性加强、效率提高、易于维护、可伸缩性、可共享性、开放性好等。1.2 系统架构示意图1.3 CS/CSS 系统架构中性能测试的特点1.3.1 CS/CSS 系统架构
14、的性能影响因素由于 CS/CSS 系统的以下特性,测试工程师对一个CS/CSS 系统实施性能测试具有很大的难度:l 整个系统的各个部分使用多种操作系统,性能上有差别;l 整个系统架构的各个环节上使用多种数据库,同样在性能上有差别;l 应用是多个,分属多个种类,分布在不同设备上,包括自行开发的应用、第三方的应用;l 系统中的设备、组件通过不同协议进行连接、通讯;l 系统的内部接口多, 性能瓶颈多;而系统的整体性能往往取决于最差的部分;需要分别测试和联合测试l 系统的性能指标不光同应用系统架构有关,还和具体行业应用的业务模式有关;l 采用此架构的行业应用往往是一个724 小时系统;l 采用此架构的
15、行业应用可能高柜业务多,这样会影响对性能度量项的选取和转换;l 各个环节基本上以交换数据报文的方式通信,其格式经常会比较复杂。因此这样的系统对于对测试工程师的知识的深度和广度都是一个考验。对于这样的系统, 到底如何使用什么样的测试策略、如何分析测试需求、 如何选取性能度量项的转换计算模型、 如何确定测试内容和轮次、 如何设计性能测试案例等等以及规划和实施性能测试中的其它诸多问题,都需要遵循一个系统的方法来解决。1.3.2 CS/CSS 系统架构中性能测试的基本策略1. 确定好测试工作范围首先可以分析压力测试中最容易出现瓶颈的地方,从而有目的地调整测试策略或测试环境, 使压力测试结果真实地反映出
16、软件的性能。例如,服务器的硬件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - 限制、数据库的访问性能设置等常常会成为制约软件性能的重要因素,但这些因素显然不是用户最关心的, 我们在测试之前就要通过一些设置把这些因素的影响调至最低。另外,用户更关心整个系统中哪个环节的性能情况也会影响工作范围。如有的环节是全新系统, 而有的环节已经是成熟系统只是稍有改动,这样可能全新系统的局部性能测试就需要系统和全面一些。2. 分析好客户的性能测
17、试需求客户是已经明确提出了性能指标, 还是只提供了用户使用方式和历史交易流量数据,需要我们自己进行性能基准的计算?性能测试的目的是验证系统性能还是想确定目标系统的理想配置?是否还要使用测试结果预测在不同机型的处理能力?是否要求在性能测试各个轮次中安排性能调优过程等等问题都需要有针对性的解答。3. 要作好性能测试的计划和方案测试计划和方案中要注意测试需求分析阶段提出的问题的解决。4. 确定的测试通过准则、性能测试的计划、结果要获得客户的认可要和客户确认, 系统的性能指标达标的标准是什么;对于性能测试中各个部分和步骤的计划和结果, 甚至是性能测试过程, 都要根据其重要程度, 决定是否需要客户进行确
18、认和签字。获得客户的认可是最重要的。1.3.3 CS/CSS 系统中性能测量与性能探测u 性能测量1. 在性能测试开始前必须认真规划性能测量:软件性能测量技术范围很广。可以包括日志、 事件计数、 事件持续时间、 采样等性能测量技术。l 确定性能测量的策略:我们要测试什么?l 规划性能测试中使用什么样的测量工具。2. 测量的代表性l 测量结果要能够反映出影响性能的重要因素:工作量负载、 软件和计算机系统环境。3. 测量的可重复性l 能够控制工作量负载、软件和计算机系统环境,从而能够重复测试过程。u 性能探测技术在进行性能测量时, 可以使用标准的商用工具进行,但是往往标准工具提供的数据不能满足要求
19、。 性能探测就是在程序的关键点插入代码探针来测量软件的执行特性。从而达到以下的目标: 性能数据获取更方便 数据的详细程度提高 数据收集方式更加可控依据 SPE (软件性能工程)的建议,软件探测需求应该作为软件体系结构的组成部分。在设计软件时设计软件探针。所以在规划项目中的性能测试过程中,要建议进行软件设计时考虑岛性能探测需求,为性能测试中更好的进行性能测量做好准备。1.3.4 CS/CSS 系统下性能测试的类型广义的性能测试包括许多类型。如:? Scalability/load testing (规模化 / 压力测试 ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
20、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 通过在被测系统上不断增加压力, 直到性能指标例如响应时间超过预定指标或者某种资源已经达到饱和状态。这种测试可以找到系统的处理极限,为系统调优提供数据。? Performance testing (性能测试 ) 通过模拟生产运行的业务压力量和使用场景组合测试系统的性能是否满足生产性能要求。 如以实际投产结构测试, 求出最大的吞吐量与最佳回应时间以保证上线的平稳,安全等? Configuration testing(配置测试 ) 通过测试找到系统各项资源
21、的最优分配原则。? Concurrency testing(并发测试)测试多个用户同时访问同一个应用、 同一个模块或者数据记录时是否存在死锁或者其他性能问题。? Stress testing (极限测试)测试系统在一定饱和状态下,例如CPU 、内存在饱和使用饱和情况下,系统能够处理的会话能力,以及系统是否会出现错误。? Volume testing (容量测试)测试系统能够处理的最大会话能力。? Reliability testing (可靠性测试)通过给系统加载一定的业务压力(例如资源在70-90% 的使用率)的情况下,运行一段时间。? Failove r testing (失败测试)对于有
22、冗余备份和负载均衡的系统, 通过这样的测试来检验如果系统局部发生故障用户是否能够继续使用系统,用户将受到多大的影响。在 CS/CSS 系统下实际的性能测试中,需要根据具体情况进行性能测试类型的选取和组合。1.3.5 CS/CSS 系统下性能测试的组成部分通常在一个 CS/CSS 系统中,分为用户界面层、服务逻辑层和数据服务层等几个层次,分别对应着客户、 应用服务器、数据库服务器。 如在金融行业应用中,客户端承载着柜面业务, 部署在网点 (包括字符柜员或图形柜员),还包括部署在自助设备上面的自助业务等;应用服务器上面主要是起到路由功能、业务处理功能、和渠道整合的作用; 而核心业务处理系统包括交易
23、平台、业务逻辑、 核心处理、数据处理等。由于业务逻辑分布在不同的环节,导致系统的内部接口多, 性能瓶颈多, 而系统的整体性能往往取决于最差的部分。所以对于整个系统的整体性能的测试可能需要针对各个环节分别做好各自的内部性能测试。如下面的一个 CS/CSS 系统金融行业应用的例子:图 1-3 cs/css金融行业应用为了测试整个系统的性能,需要预先针对各个组成部分进行内部性能测试,如后台主机的压力测试、sna gateway 的压力测试、大前置系统的压力测试、前端系统的压力测试、外系统接入的压力测试等等。在本别进行的内部压力测试中,为了排除系统其它部分的影响,均需要隔离各自的部分, 驱动和桩都使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Client-Server架构性能测试 2022 Client Server 架构 性能 测试
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内