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

news/2024/5/10 1:41:27/文章来源:https://blog.csdn.net/weixin_33727510/article/details/92651324

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/593362

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

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

相关文章

网站安全认证系统的设计变迁

网站在从小到大的发展历程中,安全认证系统是如何变迁的? 下面我们从其发展的几个阶段来分下: 阶段1: 起步,注册用户很少,两台服务器,一台应用服务器,一台数据库服务器。 用户登陆后在…

如何通过IP地址来访问网站

今天我们写极少量的代码,来实现用IP地址来访问一个网站。步骤如下: 打开命令提示符,输入以下代码: (这里用CSDN官网https://www.csdn.net/为例) 输入代码ping csdn.net /n 5 复制上面正在 Ping csdn.net […

网站推荐——洛谷

粉丝福利 【洛谷】(链接在最后)是一个我感觉非常良心的网站。自从五月以来,我一直在学习C语言,明年参加CSP大赛,自然少不了刷题。 这个网站我觉得最好的地方,就是它有很多比赛的题库: 有很多…

SEO和SEM策略:建立工作关系

SEO和SEM策略:建立工作关系 原文地址http://www.semorseo.com/1601.html SEO和SEM策略之间的关系将互联网营销的两个方面联系在一起。通过凝聚力,SEO和SEM关系导致更有效的整体策略。许多策略可以利用您的SEO来帮助您的SEM,反之亦然。 创建有…

Java小应用目录快速变网站

1. 简介 快速将一个目录变成静态站点的Java小应用 2. 程序下载 https://github.com/broncho/oss/raw/master/blog/directory-website-1.0.0.jar 3. 依赖环境 JRE 1.6 4. 使用说明 5. 运行 转载于:https://blog.51cto.com/aiilive/2285524

chrome v69 设置网站允许 flash

为什么80%的码农都做不了架构师?>>> **问题描述:**升级 Chrome V69 以后,发现之前通过 Setting -> Content Settings -> Flash -> Allow 列表里添加的允许运行 flash 的网站列表已经没有了,而且也没有了新增…

微软正式发布Azure Storage上的静态网站

微软正式宣布了Azure Storage上的静态网站,提供了从托管在Azure Storage上的HTML、CSS和JavaScript文件提供内容的能力。静态网站包含内容固定的Web页面,同时仍然允许利用JavaScript等客户端代码来创建丰富的用户体验。 有了这个新功能,继用于…

网站推广必备手册:SEO教程:搜索引擎优化入门与进阶(第2版)

网站推广必备手册:SEO教程:搜索引擎优化入门与进阶(第2版)【作  者】吴泽欣 [同作者作品] [作译者介绍] 【丛 书 名】 图灵程序设计丛书 【出 版 社】 人民邮电出版社 【书 号】 9787115213389 【上架时间】 2009-11-19 【出版日期】 2009 年12月 【开 本】 16开 编…

PageAdmin Cms建站系统教程之栏目的添加和管理

PageAdmin建站系统作为国内用户最多的企业级网站建设系统,功能强大,扩展灵活,在国内拥有庞大的用户群体,系统可以免费下载使用,被众多个人站长和网站制作公司用于网站建设和二次开发,上一篇小编讲解了PageA…

asp的网站能封装成app吗_开发平台封装打包app有风险吗!!

封装打包的意思就是指将一个网站、或者是h5封装成一个APP,这是一种“快速开发APP”的方法,但其实这个APP本身是没有代码、没有前端后台的,它的本质还是一个网页,只是我们通过封装的方式给这个网页套一个APP的壳子,让它…

外部表读取速度_影响网站打开速度的因素

为什么网站打开的速度这么慢?一般来说,影响网站打开速度的因素有以下4个方面,SEOer一定要记住哦!图片源自网络一、用户有时候,网络打开速度较慢,原因可能来自用户自身。①网络用户所在的网络是否顺畅、带宽…

做网站要服务器和什么软件,做网站的软件有哪些,自己建网站要用到哪些软件?...

做网站的软件有哪些,自己建网站要用到哪些软件?在我们要准备自己建网站的时候,我们要搞清楚做网站要采用哪些软件。相信这是不少做网站的朋友都想知道的,下面小编就给你简单介绍一下。1、Dreamweaver(代码编辑器),一个…

python模拟登录网站_用python模拟登录网站获取cookies(urllib与requests)

最近在学习使用python爬取网页信息,之前也写了几篇网站爬取以及图文混排爬取到word中的例子,有兴趣的可以在本站搜索python。之前大部分是不需要登录就可以访问的资源,所以使用python爬取的时候不需要登录。但是有些网站的信息(比…

网站留言板防重复留言_如何做一个2000年风格复古的个人网站(1)开发环境准备...

先说一下什么是复古的个人网站?让我们把时钟拨回到2000年。就是PC网络开始流程的2000-2005年代。在那个年代,大型网站有刚刚建立起的三大门户网站:网易、新浪、搜狐。还有电子邮箱http://163.net,中华网,E堂等&#xf…

用html5做一个介绍自己家乡的页面_想做响应式网站,如何选一家靠谱的响应式网站开发公司?...

响应式网站在聊响应式网站建设哪家好这个话题之前,我们先要了解一下响应式网站设计开发的起源、什么是响应式网站设计、响应式网站建设的现状和前景、如何设计制作HTML5响应式网站以及响应式网站建设费用,最后就能得出响应式网站建设哪家好的结论了。HTM…

网站维护页面_选择网站建设公司应该注意什么?

近期有不少客户咨询我们时都问了同样的问题:“南京网站建设这块真的好复杂,什么价格都有,从几百到几万,到底应该怎么选择网站建设公司呢?”其实从价格角度来说,我们在《建设一个企业网站需要多少钱呢&#…

MD毛豆新发现建站总结2014年8月20_彭世瑜_新浪博客

2014年8月7日,一个偶然的想法,我就开始做了一个存放一些从某个论坛获取的实用网址的网页,只是想给自己做一个简单的网址记录点。将网页保存至本地,做一个“本地导航”。做啊做,根本停不下来,到现在30分钟前…

MD毛豆新发现建站总结2014年8月20

2014年8月7日,一个偶然的想法,我就开始做了一个存放一些从某个论坛获取的实用网址的网页,只是想给自己做一个简单的网址记录点。将网页保存至本地,做一个“本地导航”。做啊做,根本停不下来,到现在30分钟前…

网站中案例怎么用html写,20个案例教你如何在网页中使用纹理图案

虽然扁平化的风格和响应式设计的流行使得网页设计中纹理的使用率有所降低,但是总的来说,要让一个网站拥有质感最直接的方式就是使用合适的纹理。纹理是网页设计中最常见也最常用的元素,在不同的网页中,纹理有时候是能够化腐朽为神…

上传的图片所在文件夹一般在那个目录下_网站一级目录的制作方法

搜索引擎优化(SEO)的方法之一是在主站点中建立一个主目录,从而提高主站点的排名。第一级目录继承自主站点目录,相当于在网站根目录下创建一个文件夹来存储网站。下面和大家分享网站一级目录的制作方法。图片源自网络一、网站一级目…