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

news/2024/5/12 8:47:13/文章来源:https://blog.csdn.net/weixin_34194551/article/details/92655491

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

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

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

相关文章

eclipse jsp没有提示_JSP+Spring+SpringMVC+Hibernate+Mysql实现的校园失物招领网站

项目简介项目来源于:https://github.com/wenlongup/LostAndFound因源github仓库无数据库文件,经过本人修改,现将该仓库重新上传至个人gitee仓库。张有路/LostAndFound​gitee.com本系统基于JSPSpringSpringMVCHibernateMysql的校园失物招领网…

asp网站短信api服务器,asp程序调用短信接口源码

asp程序调用短信接口源码更多作者:捷信通来源:www.jiexintong.cn日期:2014-07-31 17:59:31现在很多启用还在使用asp程序,我们技术总结出了asp程序调用短信接口源码例子,请参考,如果有疑问,欢迎各位客户联系我们:企业QQ…

域名+解析+GitHub来搭建自己的个人网站

域名解析GitHub来搭建自己的个人网站 标签: GitHub使用技巧 网站搭建 版权声明:本文为 icurious 的原创文章,可以转载,但请务必注明作者和出处!!! 原文链接:www.blankspace.cn 摘…

coursera网站课程视频无法播放?

本人为win10系统,在coursera网站修了几门课程,发现无法查看课程视频。 尝试解决一下: 1. 以管理员身份打开记事本 2. 在记事本中打开系统hosts文件 TIP:一般在C:\Windows\System32\drivers\etc 路径下 3. hosts文件中最后一…

屏蔽网站广告的Chrome谷歌浏览器插件推荐和下载地址

推荐插件: AdGuard AdBlockerAdvertising TerminatorAdBlockAdblock Plus 下载地址: Chrome插件下载官方下载

解决 python 向网站请求数据出现 check_hostname requires server_hostname 错误

问题背景 更新了python的一些库后,发现原来能用的爬虫现在不能用了,尴尬。然后网上找了一下,发现是更新库造成的,check_hostname requires server_hostname 错误 是由于新版本的 urllib3 而出现的,一个简单的解决办法是…

给网站添加建站时长的js代码

背景 老板让我给他写个人主页&#xff0c;然后用到了这个东西&#xff0c;记录下 代码 <!--这是html代码&#xff0c;放在你想显示建站时间的地方&#xff0c;样式啥的自己改就行--> <span id"sitetime" style"color: rgb(248, 247, 247);">…

给网站添加访问地图3d版,平面版

背景 给老板写个人主页的时候用到的&#xff0c;记录下 效果展示 3D版 平面版 实现 打开 https://clustrmaps.com/site/1bf58&#xff0c;创建一个小部件 输入你要统计的网站地址 选择你要那个版本的 3D版&#xff0c;右边那个 点进去有相应的js代码&#xff0c;复制就行…

利用不蒜子统计网站的访问量

背景 给老板写个人主页&#xff0c;用到了记录下 代码 <head><script type"text/javascript" src"https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> </head><body><div style"color:…

php制作小米网页版,基于LNMP的小米电商网站搭建——运维实战手记第一篇

分享一篇文章&#xff0c;来自马哥教育学员阿龙。总项目流程图&#xff0c;详见Linux运维企业架构实战系列 - 阿龙along - 博客园实战一&#xff1a;搭建lnmp及类小米等商业网站的实现环境&#xff1a;关闭防火墙&#xff0c;selinux1、安装包&#xff0c;开启服务yum -y insta…

h5实现网页内容跟随窗口大小移动_H5网站建设设计有哪些优势?

近些年随着h5网站建设的普及&#xff0c;越来越多的网站采用这一建站方案。h5网站建设有什么优势呢&#xff1f;今天小编和各位来聊聊h5网站建设的优势。随着Flash的终结&#xff0c;h5技术取代了Flash在移动设备中的地位&#xff0c;成为移动平台的唯一标准。在HTML5的应用场景…

vba获取正在运行网站的源码_早日学习VBA,早日上手VBA,早日受益VBA

在平台上&#xff0c;我讲解VBA已经有一年多了,有些朋友能理解VBA的可用之处&#xff0c;但仍有人不断在问:VBA可以做什么呢?应用VBA有什么好处呢&#xff1f;确实&#xff0c;很多的朋友在职场中久了&#xff0c;延续着前人的习惯&#xff0c;有些时候应该改一下了&#xff0…

电子商务网站建设策划书服装_分享:服装设计/服饰公司企业网站(官网)建设制作策划方案...

分享&#xff1a;服装设计/服饰公司企业网站(官网)建设制作策划方案&#xff01;随着市场经济的发展&#xff0c;我国的服装企业开始由卖方市场转为买方市场&#xff0c;各个品牌为了生存开始在这个市场中厮杀&#xff0c;较以往相比&#xff0c;现在企业的利润率逐渐下降&…

winscp远程访问服务器运行代码没有图片_软卓学堂 | 从购买服务器和域名到搭建网站...

◆ ◆ ◆ ◆从购买服务器和域名到搭建网站◆ ◆ ◆ ◆使用工具&#xff1a;Xshell终端模拟器&#xff1a;Xshell是一个终端模拟软件&#xff0c;而且是远程近程都可以。就是模拟服务器所在的linux&#xff0c;在xshell中可以输入命令&#xff0c;就像在服务器的linux中输入命令…

php模板页文件什么名称,wordpress建站程序都有哪些模板文件?模板文件名称叫什么?...

wordpress建站程序是一款基于PHP语言所开发出来的开源网站程序&#xff0c;同时它也是当前使用最多的开源建站程序。通过wordpress建站程序你可以搭建企业网站、个人网站、门户网站、新闻资讯站、商城网站、bbs论坛网站等等。而决定网站前端风格类型的主要因素就是我们今天所要…

搭建asp.net网站

ASP.NET开发学习视频教程大全&#xff08;共800集&#xff09; http://blog.chinaunix.net/uid-25454054-id-3450228.html由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。错误&#xff1a;HTTP 错误 404.3 - Not Found由于扩展配置问题而无法提供您…

https php.iis.net,在IIS上部署PHP网站

1、启动iis服务器&#xff0c;打开IIS服务器打开IIS服务器&#xff0c;点击网站&#xff0c;右击“添加网站”2、创建网站点击“添加网站”后&#xff0c;进入页面填写网站相关内容&#xff0c;如&#xff1a;网站名称、物理路径(网站所在文件夹),点击“确定”创建成功3、PHP设…

御用导航官方网站提醒提示页_未更新路线的导航软件坑了来厦游客!想自驾去鼓浪屿 被引导到轮渡码头乘船...

原来的导航路线会把游客指引到轮渡码头更新后的地图导航已将自驾的路线更新至东渡邮轮中心码头台海网7月24日讯 据厦门日报报道 外地游客驾车来厦旅游&#xff0c;通过手机地图导航“鼓浪屿风景名胜区”&#xff0c;被引导到轮渡码头乘船。到码头买票时&#xff0c;却被告知需前…

腾讯翻译君在线翻译怎么翻译整个文件_PDF文档如何直接翻译?有了这个逆天网站,3秒完成整个文件翻译...

在工作中只要提前PDF文件&#xff0c;很多人都头疼&#xff0c;因为PDF格式的文件不能直接进行操作&#xff0c;遇到像编辑、翻译很多人苦恼找不到好的方法&#xff0c;今天小编来教大家一招&#xff0c;只要你拥有了这个网站&#xff0c;PDF文件翻译就So easy&#xff01;方法…

python主网站网址是_python主方法怎么写

在python中写主方法的方法&#xff1a;首先使用【def】定义一个函数&#xff0c;然后输入“if __name__ __main__”命令&#xff0c;即完成了主方法的创建&#xff0c;可在该命令下打印出函数值。刚入门的python的同学可能尚未接触过python主函数的编写&#xff0c;其实python…