软件架构设计学习总结(10):大型网站技术架构(四)网站的高性能架构

news/2024/5/14 14:06:09/文章来源:https://blog.csdn.net/weixin_34242658/article/details/93834934

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

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://www.cnblogs.com/dengyungao/p/7543226.html

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

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

相关文章

一个tomcat怎样添加多个域名开多个站点(网站国际化)

参考&#xff1a;https://jingyan.baidu.com/article/546ae1857986f71149f28cf6.html /home/apache-tomcat-8.5.46/conf/server.xml 配置修改&#xff0c;新增三个HOST段 <Alias>www.xxxx.com.cn</Alias> <Valve className"org.apache.catalina.valves.Ac…

网站安全服务浅谈用户密码暴力破解

网站安全里&#xff0c;用户密码被暴力破解&#xff0c;尤其网站的用户登录页面&#xff0c;以及网站后台管理登录页面&#xff0c;都会遭到攻击者的暴力破解&#xff0c;常见的网站攻击分SQL语句注入攻击&#xff0c;密码弱口令攻击&#xff0c;用户密码暴力破解攻击&#xff…

建站干货|建设外贸网站需要注重哪些方面?

建设外贸网站需要注重哪些方面&#xff1f;根据广州爱搜客多年的外贸型网站建设经验&#xff0c;建议你可以参考以下几个方面做起&#xff1a; 第一点&#xff1b;需要明确目的 有些人说&#xff0c;外贸网站不就是给展示自己的公司产品信息嘛&#xff0c;但是我们要清楚一点…

PrestaShop 1.7 如何添加网站的跟踪代码

在 PrestaShop 创建购物车的时候&#xff0c;我们希望 PrestaShop 能够跟踪用户的访问。 比如说使用 Google Analytics 或者 matomo 来对购物车网站进行跟踪&#xff0c;如何进行操作和进行配置呢&#xff1f; 这里有一些捷径可以去做。如果你安装 Matomo 的话&#xff0c;你可…

IIS网站发布

考试系统中代码不断地更新&#xff0c;每一次都涉及到网站的发布&#xff0c;次数多了&#xff0c;也就成了一件平常的事情&#xff0c;必须学会&#xff0c;当主管服务器的人不在的时候&#xff0c;我们都可以着手去做这些事情。 首先就是要把代码拷贝到服务器上&#xff0c;…

Uirush | 免费的设计开发素材库网站

Uirush 素材库 uirush.net 资源分类包括&#xff1a;UI Kits、网页、图标、字体、框线图、模型、PSD、平面&#xff0c;还有代码。 下载时需在电脑端操作。 资源每周更新。 - END - 西瓜设计研究所 互联网创业 | UI设计 | 开发资源 | 教程 未经允许请勿转载&#xff0c;烦…

难怪你做事每次都比别人快,原来用了这黑科技网站,请低调收藏!

1. 别样网经常有人因为盗图而被告&#xff0c;在这里是不存在的&#xff0c;精彩纷呈的图片海量随你挑选&#xff0c;而且里面的图片像素非常的高。2. Owllook非常强大的电子书资源搜索网站&#xff0c;而且里面的小说是免费的&#xff0c;页面整洁无广告。基本上你搜的小说它都…

如何把某个网站的SSL Server certificate链导入到ABAP Netweaver系统里

我们在用ABAP代码消费外网的url时会遇到一些异常&#xff0c;比如ICM_HTTP_SSL_PEER_CERT_UNTRUSTED&#xff0c;这是因为请求的url所在的网站的SSL Server certificate没有导入到Netweaver系统。 本文介绍导入的详细步骤。 基本思路就是两步&#xff1a; 从网站上导出certific…

Docsify 如何添加 Google analytics 或者其他的网站跟踪代码

希望了解你的文档被访问了多少次或者有多么受欢迎吗&#xff1f; 你可用在你的 Docsify 项目中添加 Google analytics 或者其他的网站跟踪代码。 找到你的 Docsify 文档中&#xff0c;找到 index.html 这个文件。 然后非常简单的将跟踪代码拷贝到最下面 之前就可以了。 然后…

降低网站跳出率的六个方法(亲身使用)

摘要&#xff1a;前一段时间网站跳出率一直在80%左右&#xff0c;我不确定这是否跟360网站卫士有关&#xff0c;但确实是从接入360网站卫士之后开始的。网站跳出率高可不是一件好事情&#xff0c;所以针对跳出率我展开了一番“折腾”&#xff0c;截止今日&#xff0c;我觉得我有…

一元建站-基于函数计算 + wordpress 构建 serverless 网站

前言 本文旨在通过 快速部署一个 wordpress 网站到阿里云函数计算平台 这个示例来展示 serverless web 新的开发模式, 包括 FUN 工具一键初始化 NAS, 同步网站到 NAS, 一键部署等能力&#xff0c; 展现函数计算的开发敏捷特性、自动弹性伸缩能力、免运维和完善的监控设施。 相…

Edge 浏览器如何查看当前网站的 SSL 证书

有时候我们可能需要在浏览器上查看当前网站的 SSL 证书以确定是否配置正确了。 Edege 查看方法 单击网站 URL 链接地址的锁的标志。 如果你访问的网站是 https 的话&#xff0c;这个标志就会出现&#xff0c;否则你的网站就不是使用 https 的。 然后在下面的链接中将会显示当…

Edge 浏览器如何查看当前网站的 SSL 证书

有时候我们可能需要在浏览器上查看当前网站的 SSL 证书以确定是否配置正确了。 Edege 查看方法 单击网站 URL 链接地址的锁的标志。 如果你访问的网站是 https 的话&#xff0c;这个标志就会出现&#xff0c;否则你的网站就不是使用 https 的。 然后在下面的链接中将会显示当…

Nancy之给我们的网站添加自定义图标

原文:Nancy之给我们的网站添加自定义图标当我们在做一个网站时&#xff0c;可能经常会有这样一个需求&#xff0c;要给我们做的网站添加一个自定义的图标。 在Nancy中&#xff0c;默认是的下面这样 一个妹子的头像&#xff0c;其实也是挺好看的&#xff01;&#xff01; 那么当…

struts2架构网站漏洞修复详情与利用漏洞修复方案

struts2从开发出来到现在&#xff0c;很多互联网企业&#xff0c;公司&#xff0c;平台都在使用apache struts2系统来开发网站&#xff0c;以及应用系统&#xff0c;这几年来因为使用较多&#xff0c;被攻击者挖掘出来的struts2漏洞也越来越&#xff0c;从最一开始S2-001到现在…

借助 Lucene.Net 构建站内搜索引擎(上)

前言&#xff1a;最近翻开了之前老杨&#xff08;杨中科&#xff09;的Lucene.Net站内搜索项目的教学视频&#xff0c;于是作为老杨脑残粉的我又跟着复习了一遍&#xff0c;学习途中做了一些笔记也就成了接下来您看到的这篇博文&#xff0c;仅仅是我的个人笔记&#xff0c;大神…

php特级课---4、网站服务监控(常用网站服务监控软件有哪些)

php特级课---4、网站服务监控&#xff08;常用网站服务监控软件有哪些&#xff09; 一、总结 一句话总结&#xff1a;这些是架构师的知识 网络流量监控&#xff1a;cacti&#xff0c;mrtg 邮件报警系统&#xff1a;postfix 压力测试工具&#xff1a;Apache压力测试软件-ab&…

用户访问网站的过程

一.用户访问网站的过程 1.当用户访问一个网站时&#xff0c;都发生了什么&#xff1f; 概括如下&#xff1a; (1).利用DNS服务&#xff0c;将输入的域名解析为相应的IP地址 a.本地主机在输入域名后&#xff0c;会查询本地缓存信息和本地hosts b.本地主机会向远程LDNS服务器&…

go语言的服务发现、存储引擎、静态网站

go语言的服务发现、存储引擎、静态网站