JavaWeb网站性能优化的相关技术

news/2024/5/12 18:46:20/文章来源:https://blog.csdn.net/weixin_34356310/article/details/92483985

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一、提高服务器并发处理能力

我们总是希望一台服务器在单位时间内能处理的请求越多越好,这也成了web服务器的能力高低的关键所在。服务器之所以可以同时处理多个请求,在于操作系统通过多执行流体系设计,使得多个任务可以轮流使用系统资源,这些资源包括CPU、内存以及I/O等。这就需要选择一个合适的并发策略来合理利用这些资源,从而提高服务器的并发处理能力。这些并发策略更多的应用在apache、nginx、lighttpd等底层web server软件中。

 

二、Web组件分离

这里所说的web组件是指web服务器提供的所有基于URL访问的资源,包括动态内容,静态网页,图片,样式表,脚本,视频等等。这些资源在文件大小,文件数量,内容更新频率,预计并发用户数,是否需要脚本解释器等方面有着很大的差异,对不同特性资源采用能充分发挥其潜力的优化策略,能极大的提高web站点的性能。例如:将图片部署在独立的服务器上并为其分配独立的新域名,对静态网页使用epoll模型可以在大并发数情况下吞吐率保持稳定。

 

三、数据库性能优化和扩展。

Web服务器软件在数据库方面做的优化主要是减少访问数据库的次数,具体做法就是使用各种缓存方法。也可以从数据库本身入手提高其查询性能,这涉及到数据库性能优化方面的知识本文不作讨论。另外也可以通过主从复制,读写分离,使用反向代理,写操作分离等方式来扩展数据库规模,提升数据库服务能力。

 

四、Web负载均衡及相关技术

负载均衡是web站点规模水平扩展的一种手段,实现负载均衡的方法有好几种包括基于HTTP重定向的负载均衡,DNS负载均衡,反向代理负载均衡,四层负载均衡等等。

 

对这些负载均衡方法做简单的介绍:基于HTTP重定向的负载均衡利用了HTTP重定向的请求转移和自动跳转功能来实现负载均衡,我们熟悉的镜像下载就使用这种负载均衡。DNS负载均衡是指在一个DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时返回不同的解析结果将客户端的访问引到不同的机器上,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。反向代理负载均衡也叫七层负载均衡,这是因为反向代理服务器工作在TCP 七层结构的第七层(应用层),它通过检查流经的HTTP报头,根据报头内的信息来执行负载均衡任务。四层负载均衡是基于NAT技术的负载均衡,它将一个 Internet上合法注册的IP地址映射为多个内部服务器的IP地址,对每次TCP连接请求动态使用其中一个内部IP地址,达到负载均衡的目的。此外,还有工作在数据链路层(第二层)的直接路由方式下的负载均衡,它通过修改数据包目标MAC地址来实现。以及,基于IP隧道的负载均衡,在这种方式下可以将实际服务器根据需要部署在不同的地域,并根据就近访问的原则来转移请求,CDN服务便是基于IP隧道技术来实现的。

 

Web负载均衡在扩展web服务器规模的同时也给web站点性能优化提供了一个更大更复杂也更灵活自由的平台,基于该平台性能优化的策略包括共享文件系统,内容分发与同步,分布式文件系统,分布式计算,分布式缓存等等。

 

五、web缓存技术

web缓存技术被认为是减轻服务器负载、降低网络拥塞、增强万维网可扩展性的有效途径,其基本思想是利用客户访问的时间局部性 (Temporal Locality)原理,将客户访问过的内容在Cache中存放一个副本,当该内容下次被访问时,不必连接到驻留网站或重新计算生成,而是由Cache中保留的副本提供。Web缓存可以带来如下的好处:

 

(1) 减少网络流量,从而减轻网络拥塞;这是因为缓存避免了一部分HTTP请求。

(2) 降低客户访问延迟,其主要原因有:①已缓存的内容,客户可以缓存获取而不是从服务器获取或重新计算生成,从而减小了传输延迟缩短了响应时间;②没有被缓存的内容由于网络拥塞及服务器负载的减轻而可以较快地被客户获取;

(3) 由于客户的部分或者全部请求内容可以从通过缓存获取,从而减轻了远程服务器负载。

(4) 如果由于服务器故障或网络故障造成服务器无法响应客户请求,客户可以从缓存中获取缓存的内容副本,使得web站点服务的鲁棒性(Robustness)得到了加强。

 

可以看出web缓存能给web站点带可观的性能提升。其实在用户发出请求到一幅完整的网页呈现在用户面前这一过程中缓存无处不在,下面是web性能优化时常用的缓存技术,你会发现缓存被广泛应用在各个环节。

 

浏览器缓存:浏览器一般会在用户文件系统中创建一个目录,用于存放缓存文件,并给每个缓存文件打上必要的标记,比如过期时间等。这些标记主要用于浏览器和服务器之间的缓存协商。

 

Web服务器缓存:一个URL在一段较长时间内对应一个唯一的响应内容,比如静态内容或者更新不太频繁的动态内容,web服务器可将响应内容缓存起来,下次web服务器便可以在收到请求后立即拿出事先缓存好的响应内容并返回给浏览器。

 

代理服务器缓存:暴露在互联网中与后端的web服务器通过内部网络相连的前端服务器称为反向代理服务器,建立在反向代理服务器上的缓存称为反向代理缓存。暴露在互联网中与后端的web客户端通过内部网络相连的前端服务器称为正向代理服务器,建立在正向代理服务器上的缓存称为正向代理缓存。代理服务器缓存位于客户端和web服务器之间,可以将它看做二者之间的一个中继站。它的存在可以改善客户端的访问速度、提升web server的服务能力、安全性等等。

转载于:https://my.oschina.net/mengzhang6/blog/1788698

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_728671.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(转)3款优秀的移动webAPP网站在线测试工具

原文:原文地址 目前适配各个终端的需求越来越强烈呢?比如我们APP项目上线之后,需要一个宣传推广专题页,这个页面当然最好是采取响应式布局来完成。因为需要来推广和下载我们的APP。 无论用户是电脑打开,还是移动端打开…

vs2017 asp.net 网站发布问题 (发布路径下含源码文件)

使用vs2010版本,网站发布后会自动将源码发不为.dll程序集,但vs2017需要进行设置,其他版本没有试过。 vs2017网站发布: 1. 2. 这里给一个你想用的名字,之后它会出现在你的程序文件(不是发布路径)…

小程序https请求,http网站升到https

最近开发小程序,因为以前只写过小程序的前端没注意接口,现在才发现原来所有的接口都必须使用https协议了,马上研究了一波,顺便也想给自己的博客升成https的。 申请免费证书 哈哈没办法就是喜欢免费的。。。真是煞费苦心找了很久。…

dd 0x7ffe0000_当您尝试启动网站时出现“意外的错误0x8ffe2740”错误信息

dd 0x7ffe0000Mental note: Skype will grab port 80 if it starts up before the IIS Web Server leading me to "Unexpected Error 0x8ffe2740 Occurred." 精神注意:如果在IIS Web服务器引导我出现“意外错误0x8ffe2740发生”之前启动, Skyp…

中小型网站架构分析及优化

先看网站架构图: 以上网站架构广泛运用中大型网站中,本文从架构每一层分析所用主流技术和解决手段,有助于初入网站运维朋友们,进一步对网站架构认识,从而自己形成一套架构概念。 第一层:CDN 国内网络分布主…

网站流量日志数据自定义采集

分布式集群爬虫小架构 离线hadoop分析数据整体流转图 网站流量日志数据自定义采集 网站流量日志数据自定义采集 1、系统的意义 网站流量数据统计分析,可以帮助网站管理员、运营人员、推广人员等获取网站流量信息,并从流量来源、网站内容、网站访客特性等…

中断数周之后 微软网站恢复销售华为笔记本电脑

【TechWeb】6月18日消息,据美国财经网站CNBC报道,当地时间周一,微软表示,在中断数周之后,已恢复在其网站上销售华为笔记本电脑。 现在,包括MateBook 13、MateBook和MateBook X Pro在内的华为笔记本电脑都再…

IIs 网站应用程序与虚拟目录的区别及高级应用说明(文件分布式存储方案)

对于IIS网站,大伙用的比较多,就不啰嗦了。今天和说说大伙比较少使用的"IIS应用程序”和虚拟目录的区别及高级应用场景,文件分布式存储方案。 1:IIS网站:一个网站,基本就是一个站点,绑定N个…

Python小白我用了38行代码把一个网站的pdf资料都下了下来

在网上找书,无意间发现了一个网站,上面有很多电子书。试着打开了几本,感觉很不错,就下了下来。可惜我的人性太贪婪了,想把他们都下下来,哪怕放到磁盘上生灰。至少可以满足对知识的焦虑感。 怎么办&#xff…

opensearch_将OpenSearch添加到您的网站并进入浏览器的搜索框

opensearchI was over at http://search.twitter.com earlier today and I noticed the Search Box in Firefox had a blue lit-up dealie: 我今天早些时候在http://search.twitter.com结束了,我注意到Firefox中的搜索框有一个蓝色的亮点。 Hm...OK. Whats that? I…

手把手教你搭建一个属于自己的网站

​ 其实去年就写过一篇,当时写的很简短,算是基础的基础,今天就再来一起分享下网站建设方面的知识。看过之前我写的那篇的可以直接从基础篇备案看起。 ps:以下内容为了便于理解,部分是本人自己理解总结,非官…

日常浏览网站整理

2019独角兽企业重金招聘Python工程师标准>>> 工具网站 imgbase64 bejson 开源网站 spring4All美团技术团队博客阿里云栖社区bittiger聚客网我全科牛人博客地址 你假笨JVM博客地址 徐靖峰博客地址 芋道源码 纯洁的微笑 王亚普 程序员DD 阿里-李鼎 阿里-梁飞 …

写论文的时候会经常使用到的技巧、网站、工具整理【转载】

学习需要,非商业转载,如有侵权请及时联系,立删,十分抱歉 工具汇总一: 知乎地址:https://zhuanlan.zhihu.com/p/25595196 (16.02.27 更新)以下内容包括:选择正确的英文词语…

大型分布式网站架构技术总结

网址:http://www.cnblogs.com/itfly8/p/4967966.html本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记&#xff0…

迁移TFS2008后,项目门户网站及Team Explorer的报表均无法正常显示的原因

一、wss 1.检查wss网站集管理员,并且进入该网站查看网站权限。 二、reporting serivce 现象: 通过TeamSystemWebAccess插件进行web访问查询报表时,提示: 处理报表时出错。 (rsProcessingAborted) 无法模拟数据源“TfsOlapReportDS…

asp.net网站怎么启动_新的ASP.NET网站启动

asp.net网站怎么启动A few weeks ago we introduced a beta of a freshly designed http://asp.net website. Today we launched it. Jon, myself, and the team that manages the site took lots of your feedback (lots from the comments of the Beta Blog Post) and did ou…

服务协议隐私政策_隐私链-随着第三方服务的堆积,您网站的隐私政策

服务协议隐私政策There are so many really innovative products online right now. A good friend was showing me amazing product called Intercom that lets you see who of your users are online, their social profiles, even direct message/chat them live on your si…

前端代码在线调试分享网站

1、RunJs 2、CodePen 3、JsFiddle

带命令行的嵌入式系统_带有嵌入式命令行的网站:您的命令行进入了我的Internet

带命令行的嵌入式系统Eight years ago I wrote a post called Opportunity: Windows is completely missing the TextMode boat. The language is dated... 八年前,我写了一篇名为《机会:Windows完全没有TextMode的小船》的文章。 语言过时了... I assum…

henny penny视频_Penny Pinching视频:在数据中心之间移动Azure网站

henny penny视频I talked about Pinching pennies when scaling in The Cloud last week when I added jQuery lazy loading to my podcasts Website. I wanted to avoid paying any unnecessary bandwidth costs. The result was great and Ill be under my bandwidth this mo…