大型网站技术架构(四)网站的高性能架构

news/2024/5/9 15:09:11/文章来源:https://blog.csdn.net/weixin_34162401/article/details/92650992

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

网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。

1、性能测试指标

1.1 响应时间

      指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间。如下列出了系统常用的操作响应时间表.

操作

响应时间

打开一个网站

几秒

数据库查询一条记录(有索引)

十几毫秒

机械磁盘一次寻址定位

4毫秒

从机械磁盘顺序读取1M数据

2毫秒

SSD磁盘顺序读取1M数据

0.3毫秒

从远程分布式换成Redis读取一个数据

0.5毫秒

从内存读取1M数据

十几微妙

Java程序本地方法调用

几微妙

网络传输2Kb数据

1微妙

 实践中计算响应时间通常是通过平均时间计算的平均值。

1.2并发数

    指系统能够同时处理的请求的数目,这个数字也反映了系统的负载性能。对于网站而言,并发数指网站用户同时提交请求的用户数目。
    网站系统用户数>网站在线用户数>网站并发用户数

1.3吞吐量

指单位时间内系统处理的请求数量,体现系统的整体处理能力。对于网站,可用“请求数/秒”或“页面数/秒”或“访问人数/天”或“处理业务数/小时”等来衡量。
 TPS(每秒事物数)是吞吐量的一个常用量化指标。刺猬还有HPS(每秒HTTP请求数)、QPS(每秒查询数)。

1.4性能计数器

指操作系统的一些数据指标如System load(系统负载),CPU使用率、内存使用率、磁盘等使用情况。
 

2、性能优化策略

根据网站分层架构,可分为Web前端性能优化、应用服务器性能优化、存储服务器性能优化。

2.1 Web前端优化

2.1.1 浏览器访问优化

  • 减少HTTP请求数,主要可通过合并CSS,JavaScript、图片。
  • 使用浏览器端缓存。在某些时候,静态资源文件编写需要及时应用到客户端浏览器,这种情况下,可通过改变文件名来实现。
  • 启用页面压缩,文本文件的压缩效率可达80%以上。
  • CSS放在页面最上面,JavaScript放在页面最下面
  • 减少Cookie传输。可以考虑使用独立域名来发送Cookie等。

2.1.2 CDN加速

CDN的本质仍然是一个缓存,只是部署在离用户最近的服务器上,一般缓存的都是静态资源。

2.1.3 反向代理

除了能够保护网站安全的作用以及负载均衡的作用外,反向代理还能够提供缓存作用(动态资源)。

2.2 应用服务器性能优化

应用服务器就是处理网站业务的服务器,网站的业务代码都部署在这里,主要优化手段有缓存、集群、异步等。

2.2.1 分布式缓存

缓存主要用来存放哪些读写比很高、很少变化的数据。


 分布式缓存指缓存部署在多个服务器组成的集群中,以集群方式提供缓存服务,其具体架构有两种,一种是以JBoss Cache伪代码的需要更新同步的分布式缓存, 一种是以Memcached为代表的不互相通信的分布式缓存


 Jboss Cache 的分布式缓存在集群中的所有服务器中保存相同的缓存数据,当某台服务器有缓存更新的时候,会通知集群中其他机器跟新缓存数据。优点是应用程序可以 从本地快速的获取缓存数据,但当集群规模较大的时候,缓存更新信息需要通过到集群所有机器,其代价可想而知。

 大型网站需要的缓存数据一般都很大,可能会有TB的内存占用,这时候就的使用Memcached,是一中互不通信的架构,每台存储的缓存数据可以不一样。

2.2.2 异步操作

为了改善网站的扩展性,可以使用消息队列将调用异步化。

 

2.2.3 使用集群

在网站高并发访问的情况下,使用负载均衡技术为一个应用构建一个由多台服务器组成的集群,将并发访问请求分发到多台服务器上处理。 

2.2.4 代码优化

代码优化主要涉及多线程、资源复用(对象池或单例)、数据结构和垃圾回收。

2.3 存储性能优化

可以考虑使用分布式存储、openfiler、磁盘阵列、HDFS(Hadoop)。

转载于:https://my.oschina.net/zhanghaiyang/blog/592640

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

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

相关文章

网站程序(案例)

Insus.NET分享一个案例网站程序。程序中95%的功能添加与设置在后台管理平台进行,剩余的5%就是前台网页的自定义设计。程序是使用.NET Framework 4.0 ASP.NET MS SQL Server 2008 R2 VB.NET进行开发。功能与特色:文章编辑器使用:CuteEditor…

SharePoint 2013 报:网站在改进过程中处于只读状态,对此给您带来的不便,我们深表歉意...

SharePoint 2013备份过程意外中断,导致再打开站点报:网站在改进过程中处于只读状态,对此给您带来的不便,我们深表歉意 英文:We apologize for any inconvenience, but weve made the site read only while were making…

如何在XAMPP中设置多个网站

xampp 是一个非常方便的本地 apache php mysql 的调试环境,在本地安装测试 WordPress 等各种博客、论坛程序非常方便。今天我们来给大家介绍一下,如何使用 XAMPP 在本地进行安装多个网站。 一般情况下,我们只需要网站程序放到 xampp/htdoc …

网站主机、域名购买和部署的方法

本文主要适用于第一次购买域名和空间的朋友。 我们都知道一个网站想要在互联网上访问,大致需要三个东西。第一、我们要访问的网站本身的工程文件,就是用户看到的东西。第二、我们需要租用一个空间用来存放我们的网站工程文件,在空间中会有附带…

大型网站技术架构系列2:负载均衡

2019独角兽企业重金招聘Python工程师标准>>> 本文主要讲解nginx的负载均衡。 负载均衡基于nginx的反向代理功能。 ~~~~~~~~~~~~~~~~~~ 1)让nginx支持jsp动态文件 操作方法:---修改nginx.conf,在server里添加 location ~ \.jsp$ {p…

转载-30分钟搞定后台登录界面(103个后台PSD源文件、素材网站)

原文:30分钟搞定后台登录界面(103个后台PSD源文件、素材网站) 目录 一、界面预览二、PSD源文件预览三、工具分享四、资源说明五、素材下载网站六、下载去年八月时要做一个OA系统为了后台界面而烦恼,后来写了一篇博客(《…

python怎么开发网站_python可以开发网站吗

python可以开发网站,python在web开发方面强大的开发框架是django。做网站开发之前,同样要掌握一些python的基础语法。 1、python基础,因为用python开发的,所以python指定要会,最起码你也得会条件判断,循环&…

重定向次数过多怎么解决_网站速度对搜索引擎优化到底有怎么的影响?| 谷歌SEO怎么优化...

可能有些会很难理解网站页面速度和搜索引擎优化是如何联系起来的。但早在2010年,谷歌就表示,网站页面速度将在搜索引擎优化(SEO)中占据重要作用,这将会影响你的网站页面在搜索引擎结果页面(Search Engine Result Page)上的排名。随着移动设备…

发布网站碰到的问题

出现这种错误 编译器错误信息: CS0016: 未能写入输出文件 当时装了2个同样的数据库(mysql一个高版本,一个低版本),导致不可以发布网站,也不可以访问别人在本地发布的网站 解决方法删除一个数据库既可以解决 解决管理员…

一键seo提交收录_百度网站提交,选择主动提交,还是被动收录?

对于百度收录而言,一直以来都是困扰SEO人员的一个核心问题,每天都会有大量的站长在思考,为什么我的页面没有收录,于是便开始想尽各种途径,促使页面被百度快速收录。这其中我们一定不会脱离下面三个渠道:① …

新闻发布网站代码_如何把新闻稿发布到门户网站上?上海专业代发新闻稿公司...

什么是软文营销?简单来说,就是把一篇关于您企业的宣传文章,新闻,会议活动,或者一个新的观点,或者是一篇可以引起读者共鸣的文章发布多家不同新闻媒体上,用户就可以在媒体上,或者从搜…

laravel 分词搜索匹配度_电商网站上的搜索功能是如何实现的?

今天是刘小爱自学Java的第159天。感谢你的观看,谢谢你。学习计划安排如下:索引库本质上和数据库类似,也是存储数据的,既然如此自然也会有增删改查。那么这个索引库到底有何特别应用呢?索引库的特别之处在于它的查询&am…

一批信息查询网站汇总

一、查企业 1、全国企业信用信息公示 http://gsxt.saic.gov.cn/ 国内企业工商注册登记信息 2、信用视界 http://www.x315.com/ 全球企业信息 3、悉知 http://www.xizhi.com/ 国内企业信息含联系方式经营范围 4、纳税人 http://hd.chinatax.gov.cn/fagui/action/InitCredit.do 5…

C# 如何检测UDP是否被占用_如何检测我们博客网站是否启用了Gzip压缩?附2种方法...

一般都建议博客网站开启 Gzip 压缩,因为开启这个压缩后最多可以减少 70%的文件大小,从而减少通过网络传输的数据量以提高浏览的速度。那么如何检测我们博客网站是否启用了 Gzip 压缩呢?下面老古介绍 2 种检测方法,具体…

php下拉框 复原 提交之后_百度搜索资源平台(原百度站长平台)网站提交链接的详细教程...

有些同学经常问,为什么我文章明明原创的,但是百度老不收录?那么为了加快文章的收录速度,我们可以用好百度站长平台的链接提交功能。(进入方式如图)来看看, 百度站长平台的4种链接提交方式。一、站点地图提交当网站在建…

python如何下载5个网站视频_python爬网之教你轻松下载视频

项目背景: 作为程序媛的我,在疫情发生后就彻底宅了。没事的时候就打打游戏,看看电视剧,学学当大厨。 但在下载电视剧的时候发现,一个一个下载太麻烦了。这不符合程序媛的习惯。我的口号是“能拿程序完成的,…

怎么知道 网站是否直接明文保存密码_明文存储密码这种低级漏洞,谷歌也无法避免...

日前,谷歌公开承认其产品G Suite存在低级安全漏洞。G Suite管理控制台允许管理员为用户重置密码,然而该功能竟然以纯文本的形式明文存储用户的密码而非加密存储,如今该功能已被移除。今年3月份,Facebook 也承认以明文形式存储了数…

java 绑定域名_绑定域名到JavaWeb项目,由域名直接访问到网站首页

注意,如果要域名访问的话必须是80端口才能。localhost访问默认项目可以不用80端口也可以一:购买域名请移步到相关网站购买域名,我是在腾讯云买的。购买后记得实名认证,不然解析不了。二:解析域名大约七八分钟后&#x…

码支付如何对接网站_第四方聚合支付特色之一的轮询机制是怎么防风控的?

简单地说,聚合支付是融合了支付宝、微信支付、花呗、翼支付等多种支付方式的一种“包容性”支付工具。做支付系统一定不能脱离实际业务场景,更不能照搬其他公司方案。做聚合支付的服务商越来越多,为什么人们纷纷投身聚合支付行业?…

最炫表白网站html5源码_HTML5骏马奔跑动画

插件简介今天给大家分享一个非常新颖的HTML5动画,它是一匹骏马,在疾风中飞驰。马的外观是在Canvas上绘制而成,同时骏马在奔跑的时候从地面上飞溅上来很多泥土,这让骏马奔跑的效果更加逼真,这个动画可以改进的地方是可以…