性能测试知多少---系统架构分析-1

上一篇 / 下一篇  2012-10-17 13:11:26 / 个人分类:性能测试

51Testing软件测试网.E0\9v keqPXMZ

  之前有对性能需求进行过分析,那篇主要从项目业务、背景等角度如何抽丝剥茧的将项目的需求抽离出来。在我们进行需求的时候也需要对被测项目的架构有一定的认识,如果不了解被测系统的架构,那么在后期的性能分析与调优阶段将无从下手。51Testing软件测试网,G-J7y(g6Pb@uq1~\

'n_0U'CL{ [!O0  简单系统架构介绍51Testing软件测试网` ftJ)J6h

51Testing软件测试网'iKH [ q

  因为每个公司的业务不同,采用的技术,架构也都有很大不同。但不管怎么变动,但基本都在三层架构的基础上扩展与改进。51Testing软件测试网A(k |l e:Yk0?

Y~vpm1u$W"p0  下面看一个基本的系统架构:51Testing软件测试网R.WWf7q:c

51Testing软件测试网 |fo~!w

  表示层:51Testing软件测试网v7Fk1W AZC@

  表示层运行在客户终端上,运行java  applet 程序,提供协议控制和用户界面,与系统用户实现直接交互,通过TCP/HTTP协议与业务层系统通信,向应用层系统发送请求报文,并接收应用层系统返回的回应报文。51Testing软件测试网#m%Ht%Y:z bf

  业务逻辑层:

0QB J~h Z+?l0

  业务逻辑层作为中间层实现核心业务逻辑服务。

4^{ bS PS+Z7i b0

   应用服务器主要运行中间件系统,中间件系统系统作为一个容器来运行各种应用软件系统。前台发来的请求报文通过中间件传递给应用程序,应用程序在处理的过 程中调用数据层的数据服务器,数据服务器将查询的数据返回给应用程序,应用软件处理完成后通过中间件系统返回给客户端。51Testing软件测试网q5r7y~|8d

  在大型的系统中,可以对应用系统进行拆分,比如拆分成交易服务,查询服务;或者通过负载均衡技术,来分散客户端发来的请求,使其能承受更大的用户访问量。51Testing软件测试网 v9j+k#LHx!K

  数据层:51Testing软件测试网/n3^}2sj%d#Sd

  数据层运行在数据库主机上,负责整个系统中数据信息的存储。运行数据库服务程序,查询通过JDBC与应用程序进行通信,主要用于存储数据与提供数据查询等服务。

;T.K QpP/S_oL?0

  数据库集群技术就是对大型系统应用非常广泛的一种解决方案。51Testing软件测试网 eA%a+VE*}

  大型系统架构介绍51Testing软件测试网6fM;kA J

  前面介绍了一般系统的架构,那么一个大型的系统在设计中使用了哪些手段或技术来提高系统的性能呢

S^#Ltc]g$E0

tX:KJ4j9kw8c,v0

  操作系统51Testing软件测试网WGU-Q7?-f y4C7Y

   操作系统是硬件与软件之间的桥梁,那么一个稳定的操作系统是系统坚实的基础。在个人操作系统领域,windows 无疑是绝对的霸主,但随着近几年的发展,linux/unix以其不俗的性能表现,超强的稳定性与安全性使其在服务器领域变成重多企业的首选。因为系统服 务器由少数技术人员使用,他们更看重系统的性能、稳定性和安全性等方面的表现。51Testing软件测试网?b6VO&q ?O5?;|/Z

+] Bqt\Lpi0  Web服务器51Testing软件测试网%wGseWP_

51Testing软件测试网S? mX/|m

  Web服务器即中间件服务器,是应用程序的载体(容器),应用程序只有在中间件服务器上才能正常的运行被外界所访问使用。对于window系统 来说,IIS是微软配套的web服务器,他们的搭配应该是夫妻是之间的默契;apache 作为开源力量代表,不管在windows还是linux下面都非常得宠。因为linux与apache 都为开源产品且性能优异,应用非常广泛。

M]Bi:P-~051Testing软件测试网?]0b_/D/v;Lr1}wW

  · 淘宝网(阿里巴巴): Linux操作系统 + Web 服务器: Apache51Testing软件测试网 Bxn wW/ad;U a

0\,Ut'r^ll0  · 新浪:FreeBSD + Web 服务器:Apache

E[F5{'S8h|XHu051Testing软件测试网1jFxk Fw

  · Yahoo:FreeBSD + Web 服务器:自己的

4c/u5Ow7^.Q#v+zmT0

kR:f*QRy0  · Google: 部分Linux + Web 服务器:自己的

e6g];`et1s#i0

X{f*v8t%j@1WD k0  · 百度:Linux + Web 服务器: Apache

(FV r7L&L1@0

0u5fUh$Eo(qZ0  · 网易:Linux + Web 服务器: Apache

Z F q'oPX(_ _0

2CG~fz"n*]jM`0  · eBay: Windows Server 2003/8 (大量) + Web 服务器:Microsoft IIS51Testing软件测试网L7O"|.V,i

~^S9Fr1yz0  · MySpace: Windows Server 2003/8 + Web 服务器:Microsoft IIS51Testing软件测试网ne)F'~ ?"]skC/Tt@

+m$t Q,Xs8U|[5n f z0  常用的系统架构是:

`\il3I:K0

!ByS$pn'[N0  · Linux + Apache + PHP + MySQL51Testing软件测试网@*kFu|G

51Testing软件测试网rO,tC%u]M

  · Linux + Apache + Java (WebSphere) + Oracle51Testing软件测试网/x ZxU^%A8c

51Testing软件测试网)VN&B[]

  · Windows Server 2003/2008 + IIS + C#/ASP.NET + 数据库51Testing软件测试网0Hf4Q j y Q? CFb

(c)^%M F(@"L(`V0  · Window Server 2003/2008 + tomcat + MySql

5ET6U.}#]R051Testing软件测试网9E7IQS9C)y|G

  提高系统性能的相关技术

c$\RU;f]0

0T8K(U~X*f6y i[0  网页HTML 静态化

l,vQwGF7_(O!b0t051Testing软件测试网/Un+E(o_'oc5~3A1W

  其实大家都知道网页静态化,效率最高,消耗最小的就是纯静态化的 html 页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。51Testing软件测试网sRDO.y1[C6mU8iL

)O~|9D"_/d)j^ gt0  但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统 CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生 成静态页面,还能具备频道管理,权限管理,自动抓取等功能,51Testing软件测试网8o+c!K:w7b_

t(Y5\ gcW0  对于一个大型网站来说,拥有一套高效,可管理的CMS 是必不可少的,除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子,文章进行 实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop 的大杂烩就是使用了这样的策略,网易社区等也是如此同时,html 静态化也是某些缓存策略使用的手段,51Testing软件测试网Z}i)hmE5v*giB

1eP4~]E zK/]0  对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用 html 静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都 可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以 考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求;51Testing软件测试网;fO*}p9H Z m N1b


TAG:

奋斗的个人空间 引用 删除 819longjiayan   /   2012-10-17 16:46:17
写得真好
daodaoforward的个人空间 引用 删除 daodaoforward   /   2012-10-17 14:25:33
5
daodaoforward的个人空间 引用 删除 daodaoforward   /   2012-10-17 14:25:30
非常棒的文章,学习学习
 

评分:0

我来说两句

Open Toolbar