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

news/2024/5/19 5:19:17/文章来源:https://blog.csdn.net/weixin_34376562/article/details/92653467

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

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

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

相关文章

PhpStudy V8.0如何建立WordPress网站?附图文教程

今天尝试用phpstudy v8.0安装wordpress网站,我是按照以下步骤来的,亲测有效,分享给大家。 1、前往WordPress 官网下载中文最新版 wordpress-5.2.3-zh_CN,或点此直接下载。然后将 wordpress-5.2.3-zh_CN 压缩包拷贝到 WWW 根目录并…

偷瞄大佬书签栏,16个C++必备学习网站,建议收藏

一、 一系列类和函数的集合,使用核心语言编写,也是CISO自身标准的一部分 http://en.wikipedia.org/wiki/C%2B%2B_Standard_Library 二、 标准模板库 https://en.wikipedia.org/wiki/Standard_Template_Library 三、POSIX系统的C标准库规范 https://en.…

美国服务器电影网站版权问题,为什么说选择美国服务器做电影网站比较好

目前来说,海外服务器做网站还是比较不错的,尤其是对于一些外贸企业或者对希望宽松限制的站点,比如说电影网站。我们知道,电影网站对网站服务器要求是非常高的,因此一些有兴趣爱好的个人或者企业如果要选择服务器搭建电…

前端js嵌套遍历优化_为什么你的网站那么慢?本篇将带你掌握前端HTML5性能优化的技巧...

点击上方 关注订阅黑码教主获取更多精彩内容性能之前端篇循环优化在多重嵌套循环的程序上,如果能分出出多个独立循环也比嵌套在一个循环体内来的更有益。优化循环的3种方式:减少每次迭代的开销、减少迭代的次数或者重新设计应用程序。在测试的时候仅可能…

园林景观cad_如何不花一分钱自学CAD?这几个网站收好!海量免费教程看不完

不少小伙伴都想趁闲暇时间自学点技能提升自己,这几年CAD是个很热门的软件,不少人都想自学CAD,但是一看到外边培训班的报名费,就被吓退了。其实,现在网络这么发达,有什么想学的上网搜一搜就好啦!…

查看nginx运行状态_部署Nginx网站服务实现访问状态统计以及访问控制功能

Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求。Nginx的安装文件可以从官方网站http://www.nginx.org/下载,下面以Nginx1.12版本为例&#…

mysql msvcr_「msvcr120.dll」MySQL免安装版,遇到MSVCR120.dll文件丢失错误的解决方案 - seo实验室...

msvcr120.dll在进行mysql zip版本的安装时,遇到上图的错误,在网上找了相关的文件拷贝到相应目录下,但还是不行。后来终于找到解决方法:下载 VC redist packages for x64,下载完成,点击运行即可。相关阅读最…

代码命名网站

链接:http://unbug.github.io/codelf/ 相关说明及插件:https://github.com/unbug/codelf 有一些小伙伴,在进行变量命名的时候,对于自己熟悉的英文,可能还会用英文命名一下,如果需要命名的部分不会用英文表…

网站不让复制文字??教你破解复制+白嫖下载百度等各种文档

前阵子需要写篇 xxxx 感想的文章,当然,这种一般都是学校要求写的,作为高中作文在及格边缘徘徊的“好学生”,写是不可能写的了,只能拿出我的 从 CV 大法,去各大网站搜索白嫖别人的作文,然而白嫖的…

10大免费的白嫖网站

本次给大家分享下 pk 哥常用的 10个白嫖网站。 万能命令 https://wanneng.run/cn/在你浏览任意网页时,在网址前面输入这个万能命令 wn.run/ 就会展示出用于该网页的各种附加在线工具,方便快捷,一行命令搞定! 收录了很多高质量的…

程序员必备网站之一:No Design

昨天在逛 Hacker News 的时候,我偶然发现个宝藏网站:No Design。 地址:https://nodesign.dev 网站上收集了许多十分便利的 UI 设计工具与设计资源,看完后我内心激动不已,这网站对于那些不太懂设计的开发者来说&#x…

自学编程精品网站。

我敢保证,它们适合 所有 想要自学编程的同学。并且我相信,对于有一定经验的程序员,这些网站也基本都用过。 我将这些网站大致分为了几类: 学习类 freeCodecamp https://chinese.freecodecamp.org/ 一个适合初学者入门的免费实战…

nginx网站服务(访问状态统计、虚拟主机应用、访问控制设置)

nginx网站服务(访问状态统计、虚拟主机应用、访问控制设置)一:源码安装nginx1.1:安装环境所需的软件包1.2:创建运行用户、组1.3:解压软件包、编译安装1.4:优化执行路径1.5:编写状态管…

jar包搜索_为啥mvnrepository网站jar包,下载不下来

我们团队有维护一个很老的大数据脚本项目,此项目写一些spark任务,然后打包上传到大数据平台,跑一些任务。最近安全团队,爆出此项目有一些jar,有安全风险,需要进行jar的升级。pull此项目的时候,发…

页面布局_如何通过网站页面布局优化提升seo关键词排名?

点击蓝字|关注我们大多数做SEO的人不会忽视网站的页面优化。很多人把注意力集中在网站主页的页面优化上。网站页面优化也是网站内部优化的第一步。通过页面内容的布局调整和设计,可以创建一个用户喜欢并有利于搜索引擎抓取和识别的页面,从而提…

[python网站开发] 一.Django入门知识及创建第一个网站

转自: https://blog.csdn.net/Eastmount/article/details/73735279 随着Python应用越来越广泛,学习Python相关知识越来越多的人选择。最新研究,Python已成为美国top高校最受欢迎的语言,同时国内用Python开发的网站越来越多&#…

读论文的好网站

发现了一个更好的网站 Browse the State-of-the-Art in Machine Learning 也是按主题划分的,各个领域都有,大热的CV,NLP到小众一些的Graphs,时间序列等都有涉及。 这个网站收的论文更多更全,也很新,CVPR2…

SharePoint 2010新建站点不能登录解决方法

近期在使用SharePoint 2010,今天我在一台新服务器上(单服务器,无域环境),新建了一个SharePoint 2010的站点(先创建Web应用程序,再创建网站集),发现,在登录这个…

博客优化 搜索SEO优化 提高搜索量

csdn博客文章SEO优化提高搜索量,博客优化方法,搜索优化增加博客文章阅读量生成百度快照 。博客文章主要是会推送到百度,百度爬虫生成网页快照,这样的话百度搜索引擎会在搜索结果根据权重排名展示。 博客文章标题 文章的标题简短,包含关键词不超过30个字,…

网站数据库断连重启服务器,重启服务器上的数据库服务器

重启服务器上的数据库服务器 内容精选换一换云数据库RDS服务上的MySQL在使用上有一些固定限制,用来提高实例的稳定性和安全性,具体详见表1。您可以通过导出SQL语句的方式将数据库备份到弹性云服务器上。弹性云服务器不限制存放哪些数据,但是数…