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

news/2024/5/13 6:05:39/文章来源:https://blog.csdn.net/weixin_33801856/article/details/92650459

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

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

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

相关文章

python部署到iis_在IIS上部署基于django WEB框架的python网站应用

django是一款基于python语言的WEB开源框架,本文给出了如何将基于django写的python网站部署到window的IIS上。笔者的运行环境:Window xp sp3IIS 5.1pywin32-217.win32-py2.7 (python的win32扩展)isapi_wsgi-0.4.2-py2.5 (http://code.google.com/p/isapi-wsgi/ …

网站性能工具Yslow的使用方法

Yslow是雅虎开发的基于网页性能分析浏览器插件,从年初我使用了YSlow后,改变了博客模板大量冗余代码,不仅提升了网页的打开速度,这款插件还帮助我分析了不少其他网站的代码,之前我还特意写了提高网站速度的秘籍&#xf…

github ssh 配置_教大家怎么用GitHub免费搭建自己的博客网站

先给你们看看个效果网站:https://www.a2data.cn/环境准备:Node.jsHexoGitGitHub SSH keyTypora (Md格式书写工具)idea(就是编辑工具,推荐webstorm)安装Node.js中文网:https://nodejs.org/zh-cn/download/官方网站:https://nodejs.org/en/直接…

网硕主机php升级,如何将phpwind8.7程序网站升级9.0方法

无忧主机小编真的很开心,在经过了这么多日子的测试,phpwind9.0终于正式发布了。无忧主机小编终于可以把自己的网站升级到最新的版本了。但是phpwind9.0整个架构都改版了,小编我也不敢乱升级,于是无忧主机小编参考了phpwind官方的升…

原始数据哪里找?这些网站要用好!200个国内外经济/金融/行研/咨询数据网站大全(附链接)...

本文约8000字,建议阅读10分钟本文为你提供200个国内外经济、金融、行研、咨询数据网。资料搜集是个相当繁琐与累的工作,也是投资入门的基本,良好的信息资料搜集能力有利于我们快速了解投资主体的基本情况,为后续的调研及一手资料的…

Linux运维基础(五):网站流量度量

IP IP(Internet Protocol),这里指独立IP数。 独立IP数:一般一天内相同IP地址的客户端访问网页只会被记录一次,被计入的总次数为独立IP数。 记录独立IP数的时间可为一天,一个月,目前通用的标准为一天。 独立IP数与实际…

sdr 软件_软件定义无线电网站 sdr.hu 宣布关闭

软件定义无线电网站 sdr.hu 宣布关闭,站长给出的理由是这是一个个人业余爱好项目,他的关注点现在转移到了其他项目,既没有精力继续维护网站,也无法防止其被滥用。“防止被滥用”更像是一个来自当局施压的结果,许多人怀…

php签入html出来的影响seo吗_seo步骤优化师那个好

seo步骤优化师那个好很多人现在都在手机上运用语音搜索。物质的真实物质情形上,20%的移动查问是语音搜索。语音搜索的重要性正在提升。由于这个,您需求着手思索问题很多人在执行语音搜索特殊情况运用的天然语言。并将您的发觉添加到关键字列表…

阿里云服务器搭建个人网站(●‘◡‘●)

云服务器搭建个人网站(针对新手) 转载地址:https://developer.aliyun.com/article/758856? ​ 简介: 首先,我们需要购买阿里云服务器和域名。域名建议用.com后缀的(一般五十左右)&#xff0c…

python sqlite3 带密码_Python爬虫+Flask,带你创建车标学习网站!超级吊有木有!

文化不分边界人,为什么要读书?举个例子: 当看到天边飞鸟,你会说:“落霞与孤鹜齐飞,秋水共长天一色。”而不是:“卧靠,好多鸟。”; 当你失恋时你低吟浅唱道:“人生若只如初见&#xf…

php刷网站关键词排名,网站关键词排名如何刷点击流量?

关于网站关键词排名刷点击流量从收录到排名再到引流一、收录问题在站长交流群里面我看了分享的原创文章,说实话从语言描述和逻辑上分析,的确是亲自敲打的文章,称之为原创也不为过,但是细细斟酌,会发现根本就是流水线&a…

webpack打包jquery多页_用webpack打包老网站(jquery切图)或重构浅谈!

随着前端技术的快速发展,前端技术栈也越来越复杂多样了。什么是webpack?他能干些啥?WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓…

各类数据集网站收集

来源于:https://www.jianshu.com/p/42697d0d2fc1 1.Mall Dataset: http://personal.ie.cuhk.edu.hk/~ccloy/downloads_mall_dataset.html 2.ShanghaiTech https://pan.baidu.com/s/1nuAYslz WorldExpo 10 This paper is in cooperation with Shangha…

【服务器架构】十张图带你了解大型网站架构

目录 1、初始阶段的网站架构 2、应用服务和数据服务分离 3.使用缓存改善网站性能 4、使用应用服务器集群改善网站的并发处理能力 5、数据库读写分离 6、使用反向代理和CDN加上网站相应 7、使用分布式文件系统和分布式数据库系统 8、使用NoSQL和搜索引擎 9、业务拆分 …

Ping计算机名和Ping网站域名都是由DNS解析吗?

背景 最近公司换了一台打印机,在终端上添加扫描的时候主机名输入计算机名报错“连接超时”,但是将主机名改为IP后就可以“正常连接”了。在处理这个问题的时候首先想到的就是DNS、wins等服务器IP没配置导致不能解析计算机名所致。 引言 通过给打印机配…

IE退役,建议使用IE的网站如何打开,Edge接力。

微软宣布将于美国当地时间6月15日(北京时间6月16日),停止对IE( Internet Explorer)浏览器的所有支持和更新,为这款服务用户超过27年的浏览器画上句号。未来,将由微软推出的Edge浏览器接棒。 尽管…

学习-安全类网站

SeEBug: https://www.seebug.org/ Sebug安全文档: http://old.sebug.net/paper/ OWAPS: http://www.owasp.org.cn/owasp-project 欢迎关注公众号:

大型网站架构:负载均衡(1)

面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分…

大型网站架构:负载均衡(2)

大型网站架构系列:负载均衡详解(2) 本文是负载均衡详解的第一篇文章,介绍负载均衡算法, 硬件负载均衡。部分内容摘自读书笔记。 三、负载均衡算法 常用的负载均衡算法有,轮询,随机&#xff0…