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

news/2024/5/12 17:03:23/文章来源:https://blog.csdn.net/weixin_34025151/article/details/92659401

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

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

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

相关文章

官网分析(英雄传奇)(如何设计网站前端)

官网分析(英雄传奇)(如何设计网站前端) 一、总结 一句话总结:最开始以仿为主,仿的多了,自己就会了。分块,留白,简洁,图片找好,字体找好&#xff0…

eyoucms 怎么使用网站地图?

网站无论大小,单独的网站地图页面都是必需的,通过网站地图,不仅用户可以对网站的所有内容一幕了然,搜索引擎也可以跟踪链接爬行到网站的主要部分。一般来说,网站地图有两种形式: 一种是HTML,称为…

大型网站背后的高性能系统架构设计

1. 性能测试1.1. 性能指标网站性能测试的主要指标有:响应时间 - 响应时间(RT)是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。并…

细数国内几个比较牛的网站UED博客

发现国内一些有创新精神的网站的UED部门很活跃,也很有共享精神。他们有的在网站建立了自己的团队博客,在里面分享他们的设计经验,很值得一看。其实,团队开博客不仅仅有利于促进团队之间的良好氛围,更有利于宣传网站的文…

HTTPS通信中的身份认证机制_网站劫持检测

当你访问一个网站时,有没有想过这个问题:如何保证我的访问能直达目标网站,而没有被中间人攻击和劫持。想要解决这个问题,就得依靠HTTPS中的身份认证机制。 网站劫持检测 1、检测网站是否被劫持2、域名是否被墙3、DNS污染检测4、网…

5 个在线的网站测试和验证工具

网站上线前的测试和验证是非常重要的一个环节,验证的意思是检查网站的页面和其他数据是否符合标准规范,设计规范的网站在各种浏览器上表现会一致而且良好。 为了帮助你执行这些测试和验证,今天我们列表了 5 个在线的工具。 Pingdom Tools Pin…

mai模板html,纯PC网站模板改为自适应模板方法

随着互联网WEB前端技术的发展,各项技术诞生,BS架构、HTML5、CSS3、JQ各种新的技术出现在我们的面前,今天我们就分享下只有PC站情况下,如何快速做成自适应结构,满足移动端用户体验。网站自适应结构很多人认为很麻烦&…

svn同步到网站服务器,svn hook同步更新svn到web服务器

转到SVN项目的hooks目录下面新建post-commit文件.内容如下export LANGzh_CN.UTF-8WEB/www/vhostsvn update $WEB --username user --password passwd --no-auth-cache需要注意就是必须指定字符集还有运行 svn update 需要提供用户名密码且不要缓存用户认证令牌export LANGzh_CN…

学成在线网站首页_呕心整理!最全无版权图片网站都在这了,赶紧收藏!

在亚马逊上,买家大多数需要靠图片和文字来了解商品,而买家在搜索产品时,最先看到的是产品图片。可以说商品的主图是决定点击率的重要因素之一,而listing的图片是否具有吸引力是卖家能够为自己的Listing带来更高的转化率的另一个重…

用R语言进行网站评论文本挖掘聚类

对于非结构化的网站中文评论信息,r的中文词频包可能是用来挖掘其潜在信息的好工具,要分析文本内容,最常见的分析方法是提取文本中的词语,并统计频率。频率能反映词语在文本中的重要性,一般越重要的词语,在文…

oa办公系统含手机版源码_贵阳投资控股集团召开OA协同办公系统(含网站)建设项目启动大会...

为提高集团公司办公信息资源的利用效率,2020年1月7日,贵阳投资控股集团召开OA协同办公系统(含网站)建设项目启动大会。集团党委委员、副总经理付洪伟出席会议并讲话,信息科技部部长周康主持会议,上海泛微网络科技股份有限公司贵州…

scrapy爬虫框架和selenium的使用:对优惠券推荐网站数据LDA文本挖掘

介绍 最近我们被客户要求撰写关于爬虫的研究报告,包括一些图形和统计输出。 每个人都喜欢省钱。我们都试图充分利用我们的资金,有时候这是最简单的事情,可以造成最大的不同。长期以来,优惠券一直被带到超市拿到折扣,…

7个设计师必备的国际顶尖设计网站

成为dA(deviantart)的忠实用户有很多理由——dA是最大的艺术社区;成为dA用户简直是设计新手的必经之路。但是,这些都不妨碍你加入其他专业的网站来展现你的才华。 创立于12年前的dA现在拥有最多的艺术爱好者受众。然而&#xff0c…

追踪服务器的网站,网站Tracert路由追踪|在线Tracert工具—卡卡网 www.webkaka.com

Tracert是一个dos下的网络命令,主要作用是对路由进行跟踪。它是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在IP 网络中每一跳的延迟。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为…

大型分布式网站架构技术总结

出处:ITFLY8 网址:http://www.cnblogs.com/itfly8/p/4967966.html 本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一…

Apache+php+mysq配置本地多个虚拟网站

首先我下载的是wampserver 64位, 按照自己的电脑系统下载 一般就分两种 ,1 32为操作系统, 2 64为操作系统。 下面是软件图 文件64位; 安装教程就不写了。 下一步下一步就行 下面改到了配置了 首先第一步、 这里的 gao.com 就…

一个程序员单枪匹马,靠一个网站一年赚1个亿

是什么 网站叫BuiltWith.com,通过它可以查看其他网站使用了什么技术,什么编程语言、服务器及广告系统 可以客户生成、销售情报和市场分析提供的许多服务的用户使用,潜在客户列表的客户等,帮助企业赚钱、发现潜在客户。 这个网站仅…

Caddy实战(一)| 托管你的网站,只需一行命令

点击上方蓝色“飞雪无情”关注我,设个星标,第一时间看文章继续在Github猎奇,又看到了caddy这个Web服务器,发现star已经33K了,而且最近上升的也比较快,所以打算研究下它。周末抽了点时间,看了下c…

django实战仿慕课网在线视频网站(完成了85%以上的功能已上传github:https://github.com/huwei86/mxonline):...

1. 前台功能模块 基本模块:登录 注册 找回密码 / 全局搜索 / 个人中心, 课程功能:课程管理 / 讲师管理 / 授课机构管理 热门推荐 相关课程推荐 用户操作管理:用户收藏 / 课程评论2.后台管理系统课程管理模块:课程管理…

原创:LNMP架构部署个人博客网站 禁止转载复制

nginx编译安装步骤 ①. 检查软件安装的系统环境 cat /etc/redhat-release uname -r ②. 安装nginx的依赖包(pcre-devel openssl-devel)---假设不进行安装 yum install -y pcre-devel openssl-devel ③. 下载nginx软件---1.10.2 复制链接地址&#xff0…