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

news/2024/5/9 12:37:11/文章来源:https://blog.csdn.net/weixin_33866037/article/details/92649673

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

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

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

相关文章

如何把其他网站的搜索页挂到自己的网站上_Google网站排名多久能到首页?

每一个企业都希望自己的外贸网站排名可以在短时间内排上Google首页,那Google网站排名多久能到首页呢?一尘SEO可以告诉大家的是,Google排名需要一定的时间和周期去判定,SEO是一个持续积累的过程,并不像SEM一样立竿见影。…

电商网站模板_上海电商网站建设设计方案是什么?具体建设流程分享

网站建设是很多人都会选择的,网站是很多人的一个营销和推广选择,必定如今互联网是非常发达的,在网站建设过程中也存在很多问题,一般在网站建设时需要将这些问题逐一解决,以保证自己建站更为满意,那么上海电…

网站可行性报告范文_合肥可以做可行性研究报告范文

合肥可以做可行性研究报告范文yllc合肥可以做可行性研究报告范文紧密纺纤维项目合作计划书年产真空拔罐器2000万套项目合作计划书年产1000吨胶剂生产线建设项目可行性报告年产2万吨混凝土减水剂深加工项目项目策划书年产500套全网制基站信息采集查询系统技术改造项目项目申请报…

用go重写php网站,php如何使用自动加载(重写url形成单一入口)-Go语言中文社区

事情是这样的,昨天我面了个试,发现自己对自动加载了解的很片面,于是我就去看自动加载的机制,而网上的例子讲的都是方法含义,于是我自己写了个简单的例子。什么是自动加载了?在php5之前是没有自动加载的&…

网络不稳定是什么原因_关键词排名波动原因,如何解决网站排名不稳定!

理论上讲,关键词的排名决定了网站的流量,定期审查关键词的排名是每个SEO人员的工作,在以往的工作我们可能会遇到这样一种情况:关键词排名频繁波动,很不稳定。 它往往搞的SEOer一头雾水,明明没有过度优化&am…

少儿编程的关联网站

​少儿编程教育的目的是学习某编程语言,掌握多少编程知识和技能,而是通过编程的学习提升数字素养,培养信息意识,形成学科融合的能力。格物斯坦认为:编程化计算思维的建立,为解决实际问题提供更富有逻辑化的…

学习人工智能网站

​在谈论人工智能教育之前,让我们简单地理解两个概念,一个是大数据,另一个是人工智能。对大数据概念的简单理解是数据价值的过程。格物斯坦表示:目前大数据正在从概念向行业转变。目前,大数据行业已初步形成了基于数据…

url获取网站信息不包含网页源文件内的标签_企业掌握这四点优化方法,轻松获取免费流量...

对于企业来说,在互联网中获取流量时,需要进行非常精细的测算,其中转化率则是计算的重点。企业对引流的渴求度高,在平台虽有公共流量,但是转化率低。想额外达到获客的成果又需要支付相应的费用,这就造成“流…

maya刷权重时有个叉_如何快速提升网站权重?7年SEO从业经验给你谈快速上权重方法...

今天在SEO圈子里面看到很多SEO新手入坑玩家,在群里交流网站权重上升太慢做几个月都没有一点权重和流量。那么今天王听风老师来给大家说一下网站权重快速提升的方法。网站权重我总结的几个经验:一,发文章做词库发文章必须带词库关键词&#xf…

seo自动发外链_seo如何做外链(做seo外链建设有哪些原则)

人人做seo都需要发外链,同样的工作最终的结果却是千差万别,有些人发的外链让网站优化的结果更好,有些人发外链带给网站的优化结果是无效甚至于是反作用的。我们seo如何做外链呢?做外链建设有哪些原则?一、发布一些高质…

python搭建网盘网站_搭建nextcloud私有云存储网盘

简介:搭建个人云存储一般会想到ownCloud,堪称是自建云存储服务的经典。而Nextcloud是ownCloud原开发团队打造的号称是“下一代”存储.真正试用过后就由衷地赞同这个Nextcloud:它是个人云存储服务的绝佳选择。一开始以为Nextcloud只是一个网盘…

一个同时在线人数为500人的电商网站,TOMCAT设置并发数以及mysql数据库连接数

请问各位一下,如果现在有一个每天同时在线人数为500人的电商网站,使用阿里云服务器的配置如图 ,用的是strutshibernatespring开发,使用tomcat,如果该网站上线了,那我该如何设置tomcat的连接数,…

承受每天百万级访问量的网站需要多少台服务器?

说一下我的网站吧,是一个漫画网站,全站动态伪静态,目前建站一年,是一个漫画为主的网站。 帖服务器配置截图 以及高峰期的CPU内存占用情况 因为是漫画网站全是图片,所以配了2个8T SAS硬盘做rid,保持服务器稳…

Nginx--大型网站高并发处理

文章目录 **Nginx**-->**大型网站高并发处理** 一,产生背景 二,负载均衡(Load Balance) 2.1 高并发 2.2 负载均衡 2.3 tomcat并发图 三,Nginx简介 3.1 什么是 Nginx? 3.2 哪些地方使用了Nginx? 四&…

我记录网站综合系统 -- 技术原理解析[7:CSS类]

CSS是前台工程师的必修课&#xff0c;一般我们使用CSS只是统一写在.css里面。不过&#xff0c;wojilu提供了一些操作CSS的类&#xff0c;你可以将CSS当作一个个类来操作。 源代码位置&#xff1a;\wojilu\Web\UI 我们可以将一个CSS看作一个字典 Dictionary<String, Dictiona…

IIS网站服务器性能优化指南

Windows Server自带的互联网信息服务器&#xff08;Internet Information Server&#xff0c;IIS&#xff09;是架设网站服务器的常用工具&#xff0c;它是一个既简单而又麻烦的东西&#xff0c;新手都可以使用IIS架设一个像模像样的Web站点来&#xff0c;但配置、优化IIS的性能…

网页制作技术革新:《HTML5 网站大观》系列文章导航

《HTML5 网站大观》系列文章自去年7月至今已总共发布了12篇&#xff0c;向大家分享了基于 HTML5 制作的企业网站、个人网站、博客网站、单页网站、作品集网站等等各种类型的优秀 HTML5 网站设计作品&#xff0c;现收集于此&#xff0c;供大家查阅。 作为下一代网页语言&#xf…

简单介绍相册网站的架构

我们团队正在开发一个相册类产品&#xff0c;希望打造一个基于存储为中心的相册服务。 产品的基本架构如下&#xff1a; 1. 负载均衡 LVS Keepalived ● 抗负载能力强(performance) LVS工作方式的逻辑是非常之简单&#xff0c;而且工作在网络4层仅做请求分发之用&#xff0c;没…

钓鱼网站域名调查:非洲马里顶级域名.ML居首

非洲马里宣布顶级域名.ML从7月开始免费提供&#xff0c;其目的是要把域名回收。现在看来它们已经成功了&#xff0c;尽管这并不是它们所想象中的那样。根据Netcraft的最新调查&#xff0c;由于域名.ML的免费提供&#xff0c;马里已成为拥有全球最多钓鱼网站的国家。Netcraft根据…

记录asp.net网站停止运行原因的代码

记录网站是什么原因导致停止运行还是有必要的&#xff0c;下面是具体的实现方式。 protected void Application_End(object sender, EventArgs e){RecordEndReason();}/// <summary>/// 记录网站停止运行原因/// </summary>protected void RecordEndReason(){HttpR…