网站的高性能架构---应用服务器性能优化

news/2024/5/16 0:51:24/文章来源:https://blog.csdn.net/weixin_34192816/article/details/93656883

应用服务器就是处理网站业务的服务器,网站的业务代码都部署在这里,是网站开发最复杂,变化最多的地方,优化手段主要有缓存、集群和异步等。

  • 分布式缓存

  缓存无处不在,既存在于浏览器、也存在于服务器和数据库;既可以对数据缓存,也可以对文件缓存,还可以对页面片段进行缓存。

   网站性能优化第一定律:优先考虑使用缓存优化性能。

  1. 缓存的基本原理

  缓存是指将数据存储在相对较高访问速度的存储介质中。一方面缓存访问熟读快,可以减少访问时间;另一方面如果缓存的数据是经过计算处理得到的,那么被缓存的数据无需重复计算即可直接使用,因此缓存还可以减少计算时间。

     缓存的本质是一个内存HASH表,网站应用中,数据缓存以一对Key、Value的形式存储在Hash表中。缓存主要用来存放读写频率比较高、很少变化的数据。应用程序读取数据时,先到缓存中读取,先到缓存中读取,如果读取不到或数据已经失效,再访问数据库,并将数据写入缓存。

  2.合理使用缓存

      使用缓存对提高系统性能有很多好处,但是不合理使用缓存非但不能提高系统的性能,还会成为系统的累赘,甚至风险。

  频繁修改的数据:如果缓存中保存的是频繁修改的数据,就会出现数据写入缓存后,应用还来不及读取缓存,数据就已经失效,徒增系统负担,还可能读取到脏数据。

  没有热点的访问: 缓存使用内存作为存储,如果应用程序访问数据没有热点,那么缓存就没有意义。

  数据不一致与脏读: 一般对缓存的数据设置有失效时间,一旦超过失效时间,就要从数据库中重新加载,因此应用要容忍一定时间的数据不一致,在应用中这种延迟通常是可以接受的,但在具体应用仍需要慎重对待。还有一种策略是数据更新时立即更新缓存,不过这也会带来更多系统开销和事务一致性问题

  缓存可用性:当缓存服务崩溃时,数据库会因为完全承受不了如此大的压力而宕机,进而导致整个网站不可用,这种情况被称作缓存雪崩,发生这种故障,甚至不能简单地重启缓存服务器和数据库服务器来恢复网站访问。实践中有的网站通过缓存热备等手段提高缓存的可用性:当某台缓存服务器宕机时,将缓存访问切换到热备服务器上。通过分布式缓存服务器集群,将缓存数据分布到集群多台服务器上可在一定程度上改善缓存的可用性。当一台缓存服务器宕机时,只有部分缓存数据丢失,重新从数据库加载这部分数据不会对数据库产生很大影响。

 

 

  3.分布式缓存架构

      分布式缓存是指缓存部署在多个服务器组成的集群中,以集群方式提供缓存服务.一种是以Jboss Cache为代表的需要同步更新的分布式缓存,一种是以Memcached为代表的互不通信的分布式缓存.

       Memcached设计简单、性能优异、互补通信的服务器集群、海量数据可伸缩架构另网站架构师趋之若鹜。

 

 

 

  • 异步操作

      使用消息队列将调用异步化,在改善网站扩展性的同时,还可以改善网站系统的性能。

 

      在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情况下,会对数据库造成巨大的压力,同时也使得响应延迟加剧。在使用消息队列后,用户请求的数据发送给消息队列后立即返回,再有消息队列的消费者进程从消息队列中获取数据,异步写入数据库。由于消息队列服务器处理速度远大于数据库,因此用户的响应延迟可得到有效改善。

      消息队列具有很好的削峰作用-----------即通过异步处理,将短时间高并发的事务消息存储在消息队列中,从而削平高峰期的并发事务。

 

  • 集群

  在高并发场景下,使用负载均衡技术为一个应用建构一个由多台服务器组成的服务器集群,将并发访问请求分发到多台服务器上处理,避免单一服务器因负载压力过大而响应缓慢,使用户请求具有更好的响应延迟特征。

 

  • 代码优化

  1.多线程

      解决线程安全问题的几个主要手段:将对象设计为无状态对象:指对象本身不具存储状态信息、使用局部对象、并发访问资源时使用锁。

  2.资源复用

      系统运行时,尽量减少开销很大的系统资源的创建和销毁,比如数据库连接、网络通信连接、线程、复杂对象等。资源复用模式主要有两种:单例和对象池。对象池模式通过复用对象实例,减少对象创建和资源消耗。

  3.数据结构

  在不同场景中合理使用恰当的数据结构,灵活组合各种数据结构改善数据读写和计算特性可极大优化程序性能.

  4.垃圾回收

 

转载于:https://www.cnblogs.com/wxgblogs/p/5473576.html

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

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

相关文章

LAMP学习之linux下论坛网站搭建及测试

LAMP环境下论坛的搭建安装mysql过程 http://zhibing.blog.51cto.com/846805/192930安装apachePHP过程http://zhibing.blog.51cto.com/846805/194124首先下载一个论坛程序,本文以PHPWind为例安装过程详解[rootzhibing ]#mkdir /usr/local/apache/htdocs/bbs //在A…

推荐一个激动人心的Silverlight网站应用

先给出围观地址:http://www.vsallaccess.com/index.html 该网站不仅外表华丽,而且使用了很多silverlight3的新特性(如3d变换,导航等),绝对会让踌躇不前的silverlighter们振奋起来 左侧菜单中鼠标滑过时的绚…

1月第3周网络安全报告:被篡改的.COM网站占74.3%

IDC评述网(idcps.com)01月26日报道:根据CNCERT抽样监测结果和国家信息安全漏洞共享平台(CNVD)发布的数据得悉,在1月第3周(2016-01-11至2016-01-17)期间,我国互联网网络安…

一个简单的监控网站是否正常并自动重启服务的shell脚本

为什么80%的码农都做不了架构师?>>> #!/bin/sh if [ -z "curl --connect-timeout 15 --max-time 20 --head --silent http://localhost/index.php|head -n 1|grep 200" ];thenecho -e "$(date %Y-%m-%d)\n" killall nginxkillall p…

黄聪:Discuz!的SEO优化策略一:如何设置标题 如何去掉Powered by Discuz!尾巴

1、如何设置标题 进入 管理中心 -- 全局 -- SEO设置 -- 论坛 -- 标题 ,设置你的网站标题和描述。 PS:有人问keywords要不要设置,其实现在keywords对SEO的影响已经微乎其微了,添不添加都可以。 2、去掉Powered by Discuz!尾巴 1&am…

开发者必去的10大国内网站推荐

1、dev666网址导航 dev666网址导航是非盈利无广告、为开发者量身定制的网址导航,整体界面纯净无广告,开发者常用的网站一触即达,主要模块包括:『名站导航』、『开放平台』、『站长资源』、『编程开发』、『教程文档』、『PM创业』…

如何查询你网站空间的提供商

当你在网上冲浪的时候,你会发现某些网站流量很大但速度奇快,如果你证准备想购买空间,你肯定会想知道这个网站空间提供商是谁呢?除了网站管理员留言或写信之外,你还可以通过下面这个工具自己去找出网站后面的空间提供商…

学校比赛网站设计

这个是一个比较的一个临时比赛网站,之前是老师让一个在金山实习的室友弄,但是他在那边实习没有时间,就让我这个在这个学校准备考研的我来进行尝试下。实现起来很简单,之前没怎么弄实际的开发,现在弄起来发现实际开发出…

带给你灵感的20个漂亮的单页网站设计作品

单页网站是指只有一个页面的网站,这种形式的网站曾经非常流行,现在依然有很多人喜欢。不过,并不是每个网站都适合做成单页,一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做。如果你打算做一个这样的网站&#xff0…

【转载】windows使用nginx实现网站负载均衡测试实例

windows使用nginx实现网站负载均衡测试实例 最近正在研究Nginx,Nginx作为反向代理服务器,可以对Web服务器提供加速,并且具有负载均衡的功能。 首先我要在官网下载Nginx(http://nginx.org/en/download.html)&#xff0…

网站的高可用架构 Availability

可用性度量和考核 度量 用多少个9来表示,表示一年中可用时间的百分比 考核 可以用如下的表: 故障分故障时间(分钟) * 权重。 计入考核 高可用的网站架构 分层架构,每一层都分布式部署。使用冗余和故障转移的方式保证可…

通过云服务器搭建自己网站,通过云服务器搭建自己网站

通过云服务器搭建自己网站 内容精选换一换Discuz!论坛是全球成熟度最高、覆盖率最大的论坛软件系统之一。用户对论坛的访问可分为高峰期和平峰期,若论坛采用多服务器部署模式且满足高峰时期的负载需求,平峰期必有部分服务器处于闲置状态,增加…

Apsara Clouder云计算专项技能认证:网站建设-简单动态网站搭建

一.课程介绍 1.课程目标 了解静态网站和动态网站的区别掌握动态网站的不同实现方式在阿里云上如何搭建 wordPress网站以及 wordPress 网站的管理和优化二.网站搭建的类型 1.网站的主要类型 静态网站:指全部由 HTML 代码格式页面组成的网站,所有内容包含在网页文件中,主要用到的…

Ubuntu下Apache+php+mysql网站架设详解

目录 1 基础2 安装2.1 安装LAMP2.2 图形化管理软件(可选)2.2.1 安装webmin2.2.2 安装phpmyadmin3 配置文件路径3.1 常用命令3.2 配置apache3.2.1 Apache模块3.3 配置PHP53.4 配置MySQL3.4.1 MySQL常用命令3.4.2 配置文件(新手、无特殊要求勿动…

美国政府所有网站开始使用 HTTPS 加密

作为维护安全和隐私的一项新举措,美国政府宣布了一项计划,使HTTPS成为其公共网站联邦安全标准。其目标是到2016年12月31日,让美国政府所有网站都使用HTTPS加密。白宫甚至在Github上张 贴这项政策的最终版本,让公众自己来进行比较。…

网站防止恶意登陆或防盗链的使用

使用场景:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于网站用户交流沟通使用”之类的“假图片”。用嗅探软件找到了多媒体资源的真实地址用下载软件仍然不能下载。下载一些资源时总是出错,如果确认地址没错的…

网站就必须用响应式布局吗?MVC视图展现模式之移动布局

本文先引入给读者一个自己研究的机会,下次深入说明一下: 废话不多说,直接上图 新建一个mvc的项目 在视图里面添加一个移动端视图 正常访问一下 Bootstrap自带的响应式的方式(页面代码并没有改变) 我们来模拟一下移动端…

重庆文化执法部门清理27个违法音乐网站

【TechWeb】3月20日消息,据“扫黄打非”微信号消息,2018年12月,重庆市文化市场行政执法总队接网友举报称,有音乐网站提供免费听歌服务,上传了大量含有违背社会公德内容的歌曲,随即展开立案调查。 经查&…

2016年10大SEO趋势预测

针对很多人所说的老SEO已经死亡,转型,还是提倡新SEO,这都不是需要格外注意的东西,做好自己的能力,视野提升,储备下快速学习的能力。ASO也好,社交SEO也好或者是传统SEO也好,最重要的是…