网站建设

结合设计经验与营销实践,提供有价值的企业营销资讯

首页 > 新闻资讯 > 网站建设

大规模高性能网站性能测试方法

2015/3/21 10:12:40 来源:深圳网站建设

  大型高性能网站性能试验方法性能试验是一个总称,可分为性能试验负载测试、压力试验和稳定性试验。

  深国商网站建设以系统初步规划的业绩指标设计为预期目标,不断向系统施压,验证系统能否在资源可接受范围内达到预期业绩。

  负载测试不断增加对系统的并发请求,以增加系统压力,直到系统的一个或多个性能指标达到安全临界值。如果一个资源已经饱和,那么继续对系统施加压力,系统的处理能力不会提高,反而会下降。

  压力测试

  当超过安全负荷时,系统将继续施加压力,直到系统崩溃或无法再处理任何请求,从而获得系统的**大承压能力。

  稳定性试验

  在特定的硬件、软件和网络环境条件下,被测系统对系统施加一定的业务压力,使系统长时间运行,以检测系统是否稳定。为了更好地模拟生产环境,稳定性试验还应在系统上施加不均匀的压力。

  性能测试是对系统增加接入压力,以获得系统性能指标、**大承载能力和**大承压能力的过程。在系统测试环境中,所谓访问压力的增加,就是不断增加测试程序的并发请求数。一般来说,性能测试遵循抛物线规律,如图4.3所示。图4.3中的横坐标表示消耗的系统资源,纵坐标表示系统处理能力(吞吐量)。在初始阶段,随着并发请求数的增加,系统使用更少的资源来获得更好的处理能力(UB段)。该段为网站的日运行间隔,且网站的接入负荷压力大部分集中在该段。

  这叫做性能测试。测试目标是评价系统性能是否满足要求和设计目标;随着压力持续增加,系统的处理能力缓慢增加,直到达到**大值(C点),这是系统的**大负载点。此部分称为负载测试。测试的目的是评估系统在紧急情况下超过每日接入压力时所能承受的**大接入负载压力;在此之后,如果压力增加,系统的处理能力将降低,但资源消耗将增加。在资源消耗达到极限(d点)之前,该点可视为系统的崩溃点。如果并发请求的数量继续增加超过这一点,系统将无法再处理任何请求。本节称为压力测试,测试的目标是评估可能导致系统崩溃的**大访问负载压力。

  性能测试反映了系统在实际生产环境中使用时,随着并发用户数的增加,系统的处理能力。性能曲线对应的是用户访问的等待时间(系统响应时间),如图4.4所示。

  4.1.4性能试验报告

  试验结果报告应能反映上述性能试验曲线的规律。读者可以获得系统性能是否满足设计目标和业务要求、系统**大负载能力、系统**大承压能力等重要信息。表4.2是一个简单的示例。

  4.1.5性能优化策略

  如果性能测试结果不能满足设计或业务需求,则需要找到系统的瓶颈,对其进行划分和控制,并逐步优化。

  1性能分析

  大盘网站结构复杂。用户需要从浏览器向数据库发出请求才能完成操作事务。如果测试或用户报告网站响应缓慢且存在性能问题,则需要分析请求经历的所有链接,并检查可能的性能瓶颈并定位问题。

  支票mdash;网站的性能瓶颈与检查程序的性能瓶颈基本相同:检查请求处理各个环节的日志,分析哪个环节响应时间不合理,超出预期;然后检查监控数据,分析影响性能的主要因素:内存、磁盘、网络或CPU、代码问题或架构不合理设计,或系统资源确实不足。

  2性能优化

  在找出性能问题的具体原因之后,需要进行性能优化。按照分层架构网站,可以分为三类:Web前端性能优化、应用服务器性能优化和存储服务器性能优化。

  4.2 web前端性能优化

  一般来说,web前端是指业务逻辑网站之前的部分,包括浏览器加载、网站视图模型、图片服务和CDN服务。主要的优化方法有优化浏览器访问、使用反向代理、CDN等。

  4.2.1浏览器访问优化

  1减少HTTP请求

  HTTP协议是无状态的应用层协议,这意味着每次都需要通信链路和数据传输HTTP请求。在服务器端,每个HTTP都需要启动独立的线程来处理。这些通信和服务是昂贵的,减少HTTP请求的数量可以有效地提高访问性能。

  减少HTTP的主要方法是合并CSS、合并JavaScript和合并图片。一次合并浏览器对一个文件的JavaScript和CSS所需访问权限,以便浏览器只需要一个请求。图片也可以合并,多张图片可以合并成一张。如果每张图片有不同的超链接,您可以通过偏移量CSS响应鼠标单击操作,并构造不同的URL。

  2对于使用浏览器缓存的网站,更新静态资源文件CSS、JavaScript、徽标和图标的频率相对较低,几乎每次都需要这些文件HTTP请求。如果这些文件缓存在浏览器中,

  更低,而且几乎每次都需要这些文件HTTP请求,如果将它们缓存在浏览器中,可以很好地提高性能。通过在HTTP头中设置Cache-Control和Expires的属性,可以设置浏览器缓存,可以是几天甚至几个月。

  在某些情况下,静态资源文件的更改需要及时应用到客户端浏览器。这可以通过改变文件名来实现,即更新JavaScript文件不是更新JavaScript文件内容,而是生成新的JS文件并更新HTML文件中的引用。

  当使用浏览器缓存策略网站更新静态资源时,应采用批量更新方法。例如,需要更新10个图标文件。与其一次更新全部10个文件,不如一个文件一步一步地更新,间隔一定时间,这样可以避免用户浏览器中大量缓存突然失效而集中更新缓存,造成服务器负载激增、网络拥塞。

  3启用压缩在服务器端压缩文件,在浏览器端解压文件,可以有效减少通信传输次数。在服务器端压缩文件,在浏览器端解压文件,可以有效减少数据传输。文本文件的压缩效率可以达到80%以上,因此对HTML,CSS、JavaScript文件**好使用gzip压缩。但是,压缩对服务器和浏览器都有一定的压力,在通信带宽好、服务器资源不足的情况下应该考虑压缩。

  4. CSS页面顶部,JavaScript页面底部

  浏览器在下载完全部CSS后会呈现整个页面,所以**好的方法是将CSS放在页面顶部,让浏览器尽快下载CSS(相反,浏览器在加载JavaScript后会立即执行),这可能会阻塞整个页面,导致页面显示缓慢。所以'avaScript**好放在页面底部。但如果需要使用JavaScript进行页面解析,则不宜将其放在底部。

  5减排量Cookie

  一方面,Cookie包含在每个请求和响应中,过大的Cookie会严重影响数据传输,因此需要仔细考虑哪些数据需要写入Cookie中,并且Cookie中传输的数据需要**小化。另一方面,对于一些静态资源访问,例如CSS、Script,发送Cookie是没有意义的。我们可以考虑使用独立域名访问静态资源,在请求静态资源时避免发送Cookie,减少Cookie传输次数。

  4.2.2CDN加速CDN(内容分发网络,内容分发网络)的实质仍然是缓存,而数据缓存会在离用户**近的地方,这样用户才能以**快的速度获取数据,也就是所谓的网络访问**跳,如图4.5所示。

  由于CDN部署在网络运营商的机房,网络运营商也是终端用户的网络服务提供商,因此用户请求路由的**跳到达CDN服务器。当CDN中有浏览器请求的资源时,直接从CDN返回到浏览器,**短路径返回响应,加快用户访问速度,降低数据中心负载压力。

  CDN可以缓存静态资源,例如图片、文件、CSS、Script脚本、静态网页。但是,这些文件经常被访问。将它们缓存在CDN中可以大大提高网页的打开速度。

http://www.ytdns.net/jianzhanzhishi/1352.html 大规模高性能网站性能测试方法

特别声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:0755-85297058;邮箱:2295772445#qq.com (#替换成@)。

标签:

QQ咨询
微信咨询
微信咨询
电话咨询
周一至周五 9:00-18:00
135-1055-3738
回顶部