




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 计算机学院Web设计题目:基于web服务应用程序设计姓 名: 何跃桂学 号: 2010801023 指导教师与职称: 柳翠寅 所 在 学 院: 计算机 2011年4月 20 日17 / 23摘 要现在人们交流的方式有很大一部分依赖于,这首先就须要有一个性能健全的Web。可是当一个Web刚推出的时候,开发者并不知道将来会有多少人同时访问,以与这个Web在同时接受如此多用户的访问时候能否负荷的了。这就必须要求开发者在此正式推出使用之前,必须针对该的实际需求作出对应的测试工作,所以Web应用程序的测试方法便应运而生。关键字:WEB 程序设计 广域网和局域网 电子服务目 录第一章:WEB
2、的基本简介11.1 WEB的起源11.2 WEB的特点11.3 WEB的工作原理2第二章:什么是WEB服务器32.1 大型WEB服务器32.2 小型WEB服务器32.3 WEB服务器的发展趋势5第三章:有关WEB服务器和应用程序73.1 浏览器/服务器架构优点73.2 应用程序简介与分类73.3 WEB应用程序的特点,应用开发环境,运行模式83.3.1概述83.3.2 总体设计9第四章:WEB应用程序进行性能调优104.1 静态网页工作原理104.2 动态网页工作原理114.3 常见的体系结构124.4 针对开发人员的提示13结束语15致16参考文献17第一章:WEB的基本简介一种全局性的信息
3、结构,它将文档中的不同部分通过关键字建立,使信息得以用交互方式搜索。它是超级文本的简称。超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。Internet采用超文本和超媒体的信息组织方式,将信息的扩展到整个Internet上。WEB就是一种超文本信息系统,WEB的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的容只要在这个主题上点一下,就可以跳
4、转到包含这一主题的文档上。正是这种多连接性把它称为WEB。1.1 WEB的起源最早的网络构想可以追溯到遥远的1980年蒂姆·伯纳斯-构建的ENQUIRE项目。这是一个类似维基百科的超文本在线编辑数据库。尽管这与我们现在使用的万维网大不一样,但是它们有许多一样的核心思想,甚至还包括一些伯纳斯的万维网之后的下一个项目语义网中的构想。在那年的圣诞假期,伯纳斯制作了要一个网络工作所必须的所有工具:第一个万维网浏览器(同时也是编辑器)和第一个网页服务器。1991年8月6日,他在alt.hypertext新闻组上贴了万维网项目简介的文章。这一天也标志着因特网上万维网公共服务的首次亮相。万维网和其
5、他超文本系统有很多不同之处:万维网上需要单项连接而不是双向连接,这使得任何人可以在资源拥有者不作任何行动情况下该资源。和早期的网络系统相比,这一点对于减少实现网络服务器和网络浏览器的困难至关重要,但它的副作用是产生了坏链的慢性问题。万维网不像某些应用软件如HyperCard,它不是私有的,这使得服务器和客户端能够独立地发展和扩展,而不受许可限制。1.2 WEB的特点一、WEB是图形化的和易于导航的(navigate) WEB 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在WEB之前Internet上的信息只有文本形式。WEB可以提供将图形、音频、视频信息集
6、合于一体的特性。同时,WEB是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。二、WEB与平台无关无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh还是别的什么平台我们都可以访问WWW。对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape 的Navigator、NCSA的Mosaic、Microsoft的Explorer等。三、WEB是分布式的大量的图形、音频和视频空间,我们甚至无法预知信息的多少。对于WEB没有必要把所
7、有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。1.3 WEB的工作原理或者其他网络资源的时候,通常你要首先在你的浏览器上键入你想访问网页的统一资源定位符(Uniform Resource Locator),或者通过超方式到那个网页或网络资源。这之后的工作首先是URL的服务器名部分,被名为域名系统的分布于全球的因特网数据库解析,并根据解析结果决定进入哪一个IP地址(IP address)。第二章:什么是WEB服务器WEB服务( WEB service )是基于XML和 S的一种服务,
8、其通信协议主要基于SOAP,服务的描述通过 WSDL,通过UDDI来发现和获得服务的元数据。2.1 大型WEB服务器在UNIX和LINUX平台下使用最广泛的免费 服务器是W3C、NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器。在选择使用WEB服务器应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等,下面介绍几种常用的WEB服务器。Microsoft IISMicrosoft的WEB服务器产品为Internet Information Server (IIS), IIS 是允许在公共Intranet
9、或Internet上发布信息的WEB服务器。IIS是目前最流行的WEB服务器产品之一,很多著名的都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具,称为 Internet服务管理器,可用于监视配置和控制Internet服务。IIS是一种WEB服务组件,其中包括WEB服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作为扩展WEB服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据
10、库的查询和更新。IBM WEBSphereWEBSphere Application Server 是 一 种功能完善、开放的WEB应用程序服务器,是IBM电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet WEB 应用程序。 这一整套产品进行了扩展,以适应 WEB 应用程序服务器的需要,围从简单到高级直到企业级。2.2 小型WEB服务器* 支持安全的上级目录过滤* 支持通用的MIME类型* 支持简单的目录* 支持目录列表* 支持使用 index.html 作为首页* Trailing-slash redirection* 程序
11、总共代码才200多行特点:* 支持GET、HEAD、POST方法* 支持CGI功能* 支持基本的验证功能* 支持通用的MIME类型* 支持目录列表功能* 支持使用 index.html, index.htm, index.cgi 作为首页* 支持多个根目录的虚拟主机* 支持标准日志记录* 支持自定义错误页* Trailing-slash redirectionmini_ d 也是相对比较适合学习使用,大体实现了一个WEB Server的功能,支持静态页和CGI,能够用来放置一些个人简单的东西,不适宜投入生产使用。t d中是一个简单,小型,轻便,快速和安全的 服务器. 简单:它能够支持 /1.1
12、协议标准,或者超过了最低水平小巧:它具有非常少的运行时间,因为它不fork子进程来接受新请求,并且非常谨慎的分配存(性能对比表:.acme./software/t d/benchmarks.html)便携:它能够在大部分的类Unix系统上运行,包括FreeBSD, SunOS 4, Solaris BSD/OS, Linux, OSF等等快速:它的速度要超过主流的WEB服务器(Apache, NCSA, Netscape),在高负载况下,它要快的多。安全:它努力的保护主机不受到攻击,不中断服务器。WEB服务器控件WEB 服务器控件 (WEB server control) 属System.WE
13、B.UI.WEBControls 命名空间的 ASP.NET 服务器控件。WEB 服务器控件比 HTML 服务器控件更丰富、更抽象。WEB 服务器控件在 ASP.NET 页上有 asp 标记前缀,例如 <asp:Button runat="server" />。HTML控件可以通过修改代码将其变成WEB服务器端控件,几乎所有的HTML标记只要加上runat = "server",这个服务器控件标识属性后都可以变成服务器端控件。这与普通HTML标记相比最大的区别在于,服务器端控件可以通过服务器端代码来控制控件的属性。2.3 WEB服务器的发展趋
14、势目前,WEB服务器的发展有三个主要趋势: 1从HTML到XML(Extensible Markup Language-可扩展标记语言) HTML被称为“第一代WEB语言”,如前面的介绍,HTML作为WEB的开发语言,对WEB应用的发展起到了关键性的作用。但是HTML有一个致命的缺点:只适合于人与计算机的交流,不适合计算机与计算机的交流。HTML通过大量的标记来定义文档容的表现方式,它仅仅描述了应如何在WEB浏览器页面上布置文字、图形,并没有对Internet的信息含义本身进行描述,而信息又是WEB应用中最重要的容。通过HTML表现出来的文字、图形容很容易被人理解,但却不利于计算机程序去理解。
15、另外,HTML的另一个问题就是它的标记集合是固定的,用户不能根据自己的需要增加标记;而且各种浏览器的规格不尽一样,要使我们用HTML做的网页能够被所有浏览器正常显示,我们只能够使用W3C(万维网协会)规定的标记来创建网页。 使用XML可以解决上述的难题。W3C对XML作了如下描述:“XML描述了一类被称为XML文档的数据对象,并部分描述了处理它们的计算机程序的行为。XML是SGML的一个应用实例。从结构上说,XML文档遵从SGML文档标准。”同HTML一样,XML也是一种基于文本的标记语言,都是从SGML(Standard Generalize Markup Language,标准通用标记语言
16、)发展而来,二者的不同在于:XML可以让我们根据要表现的文档,自由地定义标记来表现具有实际意义的文档容,总起来说,XML具有四大特点:便于存储的数据格式、可扩展性、高度结构化以与方便的网络传输,这些特点为我们创建开放、高效、可扩展、个性化的WEB应用提供了一个崭新的起点。 2从有线到无线电子商务正在从台式机向着更为广泛的无线设备发展,Cahners In-Stat市场分析家预测,世界围的无线用户的人数将会从2000年的2.71亿增加到2004年的13亿。Aberdeen集团的研究主任Darcy Fowkes认为,采用无线方式进行电子商务的优势并不仅仅在于方便,它还可以节约公司的财力,而且,移动
17、办公能使工作更加高效。 例如,IBM新版本的WEBSphere Transcoding Publisher 3.5增加和改进了许多新的特性,可以将企业部网上的数据翻译到多种无线设备上。该版本中新的特性包括对更多的无线设备、数据格式的支持,以与语言翻译功能。它基于Java架构,能把用HTML和XML等标记语言编写的应用程序和数据转换成WML、HDML(Handheld Device Markup Language)和iMode等无线设备所能识别的格式,这样,通过手持设备就可以访问互联网上的信息。 无线设备厂商Mobilize也推出了Mobilize Commerce产品,帮助企业进入无线网络。该
18、软件可以通过无线连接的方式访问企业的部系统,远程地实现订单发送,并进行确认。Mobilize Commerce可以充分利用XML对信息进行格式转换,以适合于无线设备,这些无线设备包括笔记本电脑、个人数字助理、无线、网络和双向寻呼等。 第三章:有关WEB服务器和应用程序WEB服务器是应用程序运行的一个基本环境。如果一个只有WEB服务器,是不能运行的,每台电脑都可以通过添加某些组件来组建WEB服务器.其实这只能说有了存放网页的一个基本空间,一个除了服务器与网页程序外,还需要域名等要素。WEB服务器常见的有windows和 UNX UNX我接触的少,一般windows使用的是IIS这跟浏览器直接读取
19、与否无关 ,最先的网页是静态的,后来才出现动态的,也就是你所说的asp什么的,静态的时候浏览器只是被动的接受WEB服务器的数据,动态时代来临,出现了浏览器与WEB服务器的交互,也就是浏览器首先将浏览请求发送给WEB服务器上的程序,程序通过计算将某数据从数据库读出来,用网页的形式再传达给浏览器。WEB服务器只是一个运行环境,你想这是由谁来完成的,WEB服务器与WEB程序的关系是,什么样的WEB服务器决定了相应的WEB程序,比如,默认的IIS服务只能运行asp而不能运行php和aspx、cgi当然这都是可以安装相应的程序脚本来实现的,所以,如过你去一家IDC买服务器首先要了解该服务器支持什么样的脚
20、本语言。3.1 浏览器/服务器架构优点 浏览器服务器架构(Browser/Server,简称B/S)能够很好地应用在广域网上,成为越来越多的企业的选择。浏览器服务器架构相对于其他几种应用程序体系结构,有如下3方面的优点:(1)这种架构采用Internet上标准的通信协议(通常是TCP/IP协议)作为客户机同服务器通信的协议。这样可以使位于Internet任意位置的人都能够正常访问服务器。对于服务器来说,通过相应的WEB服务和数据库服务可以对数据进行处理。对外采用标准的通信协议,以便共享数据。(2)在服务器上对数据进行处理,就处理的结果生成网页,以方便客户端直接下载。3.2 应用程序简
21、介与分类1应用程序简介应用程序是指为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序。 应用程序与应用软件的概念不同,但常常因为概念相似而被混淆。软件指程序与其相关文档或其他从属物的集合。一般的我们视程序为软件的一个组成部分。例如:一个游戏软件包括程序(*.exe)和其它图片(*.bmp等)、音效(*.wav等)等附件,那么这个程序(*.exe)称作“应用程序”,而它与其他文件(图片、音效等)在一起合称“软件”。应用程序(Application)运行在用户模式,它可以和用户进行交互,具有可视的用户界面。 应用程序通常又被分为两部分:图形用户接口(GUI)和引擎(Engine)。
22、 在DOS或Windows系统下其扩展名为*.exe或*.。2应用程序分类它有几种分类,即:单文档、多重文档、基本对话框三种。给你举例说明一下,单文档就象是记事本,永远中有一个文档窗口,多文档窗口就象是word可以同时打开多个文档窗口,这个也是现在运用最多的,对话框也就是最简单的,用于对话框的设计。现在单纯的基于对话框使用的很少了,一般还用来编写即时通讯的软件,更多情况是对话框和多文档窗口穿插使用的。3.3 WEB应用程序的特点,应用开发环境,运行模式3.3.1概 述目前,随着信息技术和网络技术的发展,“信息高速公路”建设已在全球拉开序幕,传统的ClientServer?简称CS?网络应用系统
23、模式在开放性与信息的发布、交流等方面存在很大的局限性,严重影响到仓储管理适应全球性的全方位信息化进程的步伐,CS网络模式已经不适宜用来构建高性能的仓储管理网。BrowserServer ?简称BS? 网络结构模式作为传统CS模式的扩展,为仓储管理的建设提供了崭新的技术手段,开辟了网络建设的新途径。本文为克服传统的ClientServer的局限性,提出了基于BS模式和CS模式结合策略的仓储管理信息系统的总体结构和实现方法。3.3.2总体设计在市场经济改革的大潮中,仓储行业为谋求发展,大量的是外协代管物资的保管。仓库服务的对象是货主,因此整个仓储管理信息系统的出发点应以货主为中心。货主的管理就成为
24、系统设计的关键技巧。在总体设计上考虑到业务的复杂性与繁重的客户端计算,为提高管理效率,加强仓储管理系统与外部信息交互,系统设计采用 CSBS结构,其结构如图1所示。11 B/S模式的模型结构BS模式,即浏览器服务器模式,是一种从传统的二层CS模式发展起来的新的网络结构模式,其本质是三层结构CS模式。12 B/S模式的工作原理在BS模式中,客户端运行浏览器软件。浏览器以超文本形式向WEB服务器提出访问数据库的要求,WEB服务器接受客户端请求后,将这个请求转化为SQL 语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给WEB服务器,WEB服务器
25、再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的WEB页面形式显示出来。13 B/S模式的特点BS模式管理信息系统基本上克服了CS 模式管理信息系统的不足,其主要表现在:131系统开发、维护和升级的经济性对于大型的管理信息系统,软件开发、维护与升级的费用是非常高的,BS模式所具有的框架结构可以大大节省这些费用,同时,BS模式对前台客户机的要求并不高,可以避免盲目进行硬件升级造成的巨大浪费。132 BS模式提供了一致的用户界面BS模式的应用软件都是基于WEB浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培
26、训费用。第四章:WEB应用程序进行性能调优了解 WEB 应用程序的各种组件如何交互,以与在哪些地方可能发现性能瓶颈。开发人员和管理员都可以从本文受益,因为获得更好的性能是他们的责任。 动态的 WEB 应用程序能够存储大量信息,让用户能够通过熟悉的界面立即访问这些信息。但是,随着应用程序越来越受欢迎,可能会发现对请求的响应速度没有以前那么快了。开发人员应该了解 WEB 应用程序处理 WEB 请求的方式,知道在 WEB 应用程序开发中可以做什么,不能做什么,这有助于减少日后的麻烦。4.1 静态网页工作原理静态的 WEB 请求(比如图 1 所示的请求)很容易理解。客户机连接服务器(通常通过 TCP
27、端口 80),使用 协议发出一个简单的请求。图 1. 客户机通过 请求静态的文件服务器解析这个请求,把它映射到文件系统上的一个文件。然后,服务器向客户机发送一些描述有效负载(比如网页或图像)的响应头,最后向客户机发送文件。 在上面的场景中可能出现几个瓶颈。如果请求的变化很大,导致无法有效地使用操作系统的磁盘缓存,那么服务器的磁盘会很忙,到了某种程度之后,就会减慢整个过程。如果为客户机提供数据的网络通道饱和了,就会影响所有客户机。但是,除了这些状况之外,“接收请求,发送文件” 过程还是相当高效的。通过做一些假设,可以大致体会静态服务器的性能。假设一个请求的服务时间是 10ms(主要受到磁头寻道时
28、间的限制),那么大约每秒 100 个请求就会使磁盘接近饱和(10msec/request / 1 second = 100 requests/second)。如果要发送 10K 的文档,就会产生大约 8mbit/sec 的 WEB 通信流(100 requests/second * 10 KBytes/request * 8bits/byte)。如果可以从存缓存中获取文件,就可以降低平均服务时间,因此增加服务器每秒能够处理的连接数。如果您有磁盘服务时间或平均请求延时的真实数据,可以把它们放进上面的算式,从而计算出更准确的性能估计值。既然服务器的处理容量是平均请求服务时间的倒数,那么如果服务时间
29、加倍,服务器的处理容量(每秒处理的连接数)就会减半。请记住这一点,下面看看动态应用程序的情况。4.2 动态网页工作原理动态应用程序的流程依赖于应用程序的具体情况,但是一般情况下与图 2 相似。图 2. 客户机通过 请求动态页面与前一个示例中的客户机一样,图2 中的客户机首先发出一个请求。静态请求和动态请求之间实际上没什么差异(有时候 .php 或 .cgi 等扩展名可能意味着动态请求,但是它们可能引起误解)。如何处理请由 WEB 服务器决定的。在图2 中,请求被发送到一个应用服务器,比如运行一个 Java 应用程序的 Solaris 系统。应用服务器执行一些处理,然后向数据库查询更多的信息。得
30、到这些信息之后,应用服务器生成一个 HTML 页面,这个页面由 WEB 服务器转发给客户机。因此,这个请求的服务时间是几个部分的总和。如果数据库访问花费 7ms,应用服务器花费 13ms,WEB 服务器花费 5ms,那么网页的服务时间就是 25ms。根据前面介绍的倒数规则,各个组件的容量分别是每秒 142、77 和 200 个请求。因此,瓶颈是应用服务器,它使这个系统每秒只能处理 77 个连接;超过这个数量之后,WEB 服务器被迫等待,连接开始排队。通过这些示例可以得出以下结论:在用户发出请求和获得最终页面之间的步骤越多,整个过程就越慢,系统容量就越低。随着页面请求速率的增加,这种效应会越来越
31、显著。在项目开始时做出的体系结构决策也会影响站点处理负载的能力。用于动态站点的 N 层体系结构。应用程序(包括 WEB 应用程序)的体系结构常常按照层来描述。静态站点可以被看作只有一层 WEB 服务器。如果用 WEB 服务器运行某种脚本语言(比如 PHP),从而连接数据库,那么这可以看作两层。前一节中的示例有三层,即前端 WEB 服务器、应用服务器和数据库。一个软件也可能由多层组成,这取决于您谈话的对象。例如,PHP 脚本可能使用一个模板引擎把业务逻辑与表示分隔开,它可以被看作单独的两层。Java 应用程序可能通过 Java servlet 执行表示任务,servlet 通过与 Enterpr
32、ise Java Bean (E) 通信执行业务逻辑,E 通过连接数据库获取更多信息。因此,换一个角度来看,三层体系结构可能是另一副样子,尤其是在涉与不同的工具集时。4.3 常见的体系结构尽管应用程序的体系结构各不一样,但是有一些常见的体系结构趋势。在一般情况下,应用程序需要四个功能层:客户机层 表示层 业务逻辑层 数据层 在 WEB 应用程序中,客户机层由 WEB 浏览器处理。浏览器显示 HTML 并执行 Javascript(以与 Java applet、ActiveX 或 Flash applet),从而向用户显示信息和收集用户信息。表示层是从服务器到客户机的接口,它负责控制输出的格式,
33、让输出可以在客户机上显示。业务逻辑层实施业务规则(比如计算和工作流),从而驱动应用程序。最后,数据访问层是持久化的数据存储,比如数据库或文件存储。大多数应用程序需要所有这四层的功能,尽管它们可能不需要明显完整地实现这些层。另一种流行的体系结构是 Model-View-Controller,这是一种用于分隔应用程序组件的模式。在 MVC 模式中,模型封装业务逻辑层,并与框架一起封装数据层。视图负责处理发送给客户机的数据表示。控制器的作用是控制应用程序流程。层的容量扩展。 WEB 应用程序的容量意味着让它能够处理更多的通信流。容量扩展的一个方面是如何根据需求部署硬件。另一个方面是应用程序如何响应新
34、的硬件环境。从概念上说,在出现性能问题时,往往首先想到使用功能更强的服务器;但是应用程序本身很可能造成其他瓶颈。把应用程序划分为一系列层有助于收缩问题的围,可以简化容量扩展。数据库是另一个常常适合使用垂直扩展的场合。让数据集跨越不同的服务器需要在应用程序层做大量工作,比如跨两个数据库联结列并确保数据是一致的。使用更强大的数据库服务器要容易得多,而且不需要通过重新构建应用程序来支持分散的数据把 WEB 应用程序建模为队列。根据前面对应用程序体系结构的讨论可以看出,WEB 请求会通过多个阶段,每个阶段花费一定的执行时间。请求排队通过每个步骤,完成一个步骤之后,再排队进入下一个步骤。每个步骤很像人们
35、在商店里排队结帐的情况。可以把 WEB 应用程序建模为一系列步骤(称为 “队列”)。应用程序的每个组件都是一个队列。建模为一系列队列的典型 WEBSphere 应用程序如图 3 所示:图 3. 建模为排队网络的 WEBSphere® 应用程序 图3显示请求等待 WEB 服务器处理它们,然后等待 WEB 容器,依此类推。如果进入某个队列的请求速率超过了此队列处理请求的速率,请求就会聚集起来。当出现请求聚集时,服务时间是不可预测的,用户会察觉到浏览器会话延迟。图3 中的队列代表最糟糕的情况,因为 WEB 服务器可以自己处理一些请求,即不需要访问数据库。队列在 UNIX® 环境中
36、很常见。当应用程序发出磁盘请求的速率快于磁盘返回数据的速率时,操作系统会让磁盘请求排队,还可能调整请求的次序以降低寻道时间。另一个队列是运行队列,其中包含等待运行的进程的有序列表。应用程序会等待轮到它们使用某些有限的资源(比如 CPU)。因此,队列调优是一种平衡的艺术。队列太小,就会在仍然有富余容量的情况下拒绝用户。队列太大,就会试图为过多的用户提供服务,导致性能很差。导致情况更复杂的另一个因素是,这些排队位置并不是无成本的。保留排队位置会导致存开销,对于应用服务器,这会与正在处理请求的线程争用存。因此,在一般情况下,在应用服务器上排队并不是好方法。推荐的方法是在应用服务器之前(比如在 WEB
37、 服务器上)排队。这意味着 WEB 服务器要保持与 WEB 客户机的连接,并在应用服务器空闲时发出请求。应用服务器只需处理它能够与时派发的请求。4.4 针对开发人员的提示作为开发人员,应该按照一些一般原则提高应用程序的可伸缩性。这些原则可以应用于大多数 WEB 应用程序。应用程序应该以某种方式向收集系统提供度量值(即使收集系统仅仅是日志文件)。这些度量值包括访问应用程序中某个函数的频率或处理一个请求花费的时间等。这并不会使应用程序运行得更快,但是有助于了解应用程序为什么会变慢以与代码的哪些部分花费的时间最长。了解什么时候调用某些函数,这有助于把在系统上观察到的现象(比如 CPU 忙或磁盘活动量
38、高)与应用程序中的活动(比如上传图像)联系起来。能够了解站点上发生的情况,这是扩展站点容量的关键。您认为不够优化的代码部分可能不会造成问题。只有通过适当的度量,才能发现真正的瓶颈。WEB 在本质上是无状态的。用户发出的每个请求都独立于以前的请求。但是,应用程序常常是有状态的。用户必须登录应用程序以证明自己的身份,在访问站点期间可能要维护购物车的状态,还可能要填写供以后使用的个人信息。跟踪会话是一种成本很高的操作,尤其是在涉与多个服务器的情况下。在单一服务器上运行的 WEB 应用程序可以把会话信息放在存中,在服务器上运行的任何 WEB 应用程序实例都可以访问共享存。常常会给用户分配一个标志,这个标志标识存中的会话。考虑一下在涉与第二个应用服务器时会发生什么。如果用户的第一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年商务谈判的合同模板
- 六 美丽的校园-《认识方向》(教案)二年级上册数学青岛版
- 六年级下册数学教案-4.1 扇形统计图 ︳西师大版
- 包装的学问(教案)2024-2025学年数学五年级下册 北师大版
- 茶艺培训合同(2篇)
- 学习2025年雷锋精神六十二周年主题活动实施方案 合计4份
- 学习2025年雷锋精神62周年主题活动实施方案 (汇编4份)
- 学习2025年雷锋精神六十二周年主题活动实施方案 (3份)-50
- 第八单元(B卷能力篇)三年级语文下册单元分层训练AB卷(部编版)
- 2025年广西培贤国际职业学院单招职业适应性测试题库汇编
- 城市绿化与生态环境改善
- 监理人员安全培训考试试卷(答案)
- 高教版2023年中职教科书《语文》(基础模块)下册教案全册
- 川教版四年级《生命.生态.安全》下册全册 课件
- JJG 693-2011可燃气体检测报警器
- 静脉导管的护理与固定方法
- word上机操作题
- 房地产公司管理制度
- O型密封圈标准 ISO 3601-12008[E]中文
- 医院医疗服务价格管理制度
- 工程结算单(样本)
评论
0/150
提交评论