【转载】大型网站性能

news/2024/5/9 10:09:04/文章来源:https://blog.csdn.net/weixin_33896726/article/details/85825957

参考这篇文章:http://www.csdn.net/article/2014-09-30/2821940

把整个过程,分为三段路径:

  • 第一段在用户和浏览器端,主要负责发出用户请求,以及接受响应数据进行计算渲染显示给用户;
  • 第二段在网络上,负责对请求数据、响应数据的传输;
  • 第三段在网站服务器端,负责对请求数据进行处理(执行程序、访问数据库、文件等),并将结果返回;

 

第一路径:

输入域名发起请求,实质过程是:用户在浏览器输入要访问的网站域名;
本地DNS请求网站授权的DNS服务器对域名进行解析,并得到解析结果即IP地址(并将IP地址缓存起来)。
向目标IP地址发出请求。

优化:

从这个过程我们可以看到,优化的地方主要是减少DNS解析次数,而如果用户浏览器设置了缓存,则再第二次访问相同域名的时候就不会去请求DNS服务器,
直接用缓存中的IP地址发出请求。因此这个过程主要取决于浏览器的设置。现在主流的浏览器默认设置了DNS的预取功能(DNS Prefetch),
当然你也可以主动告知浏览器我的网站需要做DNS预取:
<meta http-equiv="x-dns-prefetch-control" content="on" />

 渲染:

浏览器将数据进行计算渲染的过程:浏览器解析响应数据;
浏览器创建DOM树;
浏览器下载CSS样式,并应用到DOM树,进行渲染;
浏览器下载JS文件,开始解析执行;
显示给用户。

优化:

从这个过程,我们可以找出不少可以优化的地方。首先我们可以尽量控制页面大小,使得浏览器解析的时间更短;
并且将多个CSS文件、JS文件文件合并压缩减少文件下载的次数和大小;另外注意将CSS放在页面前面,JS访问页面后面,
这样便于页面首先能渲染出来,再执行js脚本,对于用户来说有更好的体验。最后我还可以设置浏览器缓存,下次访问时从缓存读取内容,减少http请求。
<meta http-equiv="Cache-Control" content="max-age=5" /> 该代码说明了浏览器启用了缓存并在5秒内不会再次访问服务器。注意缓存的设置需要结合你的业务特性来适当配置。

第二路径

带宽

我们知道带宽速度分为上行、下行速度,也就是上传和下载的速度。带宽20M对于用户来说则是下载速度20M(20×1024×1024比特率),换算成字节20M/8=2.5M。
也就是说20M的带宽下载速度理论可达2.5M/s,而对于家庭用户而言上传速度一般比下载速度小的多,大约是不到十分之一。
而对于网站服务器(企业用户)来说,则不然,一般上行速度等于下载速度。
这也是运营商根据实际需求分配的,毕竟用户的主要需求是下载数据,而不是上传数据。

分析

对于用户来说,上传数据是很小的(Url参数),而下载数据是较大的(响应数据);
对于服务器来说,下载数据是很小的(url参数),上传数据是较大(响应数据)。理解了这个,我们可以解释为什么有时用户反映为什么自己的带宽足够,但打开某些网站仍然很慢,
就是因为尽管用户的下载速度很快,但网站服务器的上传速度很慢。了解了这个原理我们来看怎么提高数据传输的速度,首先用户的上传、下载速度我们是无法决定的,我们能决定的是网站服务器的上传、下载速度,
所以我们可以做的是适当的增加服务器带宽(带宽是很贵的,盲目的增加只会增加不必要成本)。 购买合适的带宽需要根据网站业务特性、规模以及结合运维人员的经验来选择。通常可以考虑的算法,即根据一次响应数据的大小,乘以PV数,除以对应的高峰时间段,
从而大致估算出网站带宽的需求。下图表示用户访问网站服务器时网络的大致情况,从图上可以看出假设网站服务器从电信网络接入。 而用户A作为电信的宽带用户,则可以通过电信骨干网快速的访问到网站服务器。用户B,用户C作为移动和联通用户需要通过运营商的互联互通经过较长路径才能访问到服务器。

优化:

针对这种情况,我们可以采取以下方法来优化:1. 在各运营商发达的地区的IDC(互联网数据中心,可以理解成机房)部署网站服务器,各运营商的用户即可通过各自的骨干网访问服务器。
2. 购买代理服务,也就是原来联通用户需要通过联通骨干网——
>联通互联互通路由器——>电信骨干网——>网站服务器的过程。
通过代理服务,代理服务器直连到电信骨干网,
访问网站服务器。
3. 在主要地区城市购买CDN服务,缓存对应的数据,用户可先从最近的CDN运营商获取请求数据。

第三路径

第三路径主要是网站服务器内部处理的过程,当中包括执行程序、访问文件、数据库等资源。

这是对于我们来说最可以发挥的地方:使用缓存,根据需要使用本地缓存或分布式缓存;
使用异步操作,这种方式不仅可以提高性能,也提高了系统的扩展性;
代码优化;
存储优化;

缓存  Redis/Memcached

异步操作 

如下图,使用同步请求的方式,在高并发的情况下,会对数据库造成很大的压力,也会让用户感觉响应时间过长。
异步请求方式,则可以快速的对用户做出响应,而具体的数据库操作请求,则通过消息队列服务器发送给数据库服务器,做具体的插入操作。
插入操作的结果则已其他方式通知客户端。例如一般在订票系统当中,出票行为就是异步完成,最终的出票结果会以邮件或其他方式告知用户。

代码优化

http://www.cnblogs.com/leefreeman/p/3585032.html (后面会另开一文记录读书笔记)

存储优化

磁盘阵列、分布式存储、flash硬盘

性能的指标和测试

响应时间、并发量、吞吐量

响应时间:就是用户发出请求到收到响应数据的时间;
并发量:就是系统同时能处理多少用户请求;
吞吐量:就是单位时间内系统处理的请求数量;

之间的关系,下面这张图描述得挺好:

小结

三个路径过程。各自主要优化点。三个重要指标。 

 

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

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

相关文章

用户域名注册后 需要在租服务器吗,搭建论坛需要租用什么样的网站服务器

搭建论坛可能对于普通的站长还是比较遥远的事情&#xff0c;但是对IT行业有比较深刻了解的站长&#xff0c;他们往往喜欢选择搭建一个论坛&#xff0c;聚集一些属于自己的人气。那么搭建论坛需要租用什么样的网站服务器呢&#xff1f;我们知道&#xff0c;论坛它比普通网站需要…

40个新鲜的 jQuery 插件,使您的网站用户友好

作为最流行的 JavaScript 开发框架&#xff0c;jQuery 在现在的 Web 开发项目中扮演着重要角色&#xff0c;它简化了 HTML 文档遍历&#xff0c;事件处理&#xff0c;动画以及 Ajax 交互&#xff0c;这篇文章特别收集了40个新鲜的 jQuery 插件&#xff0c;使您的网站对用户更友…

一些好用的网站

一些好用的网站 Latex公式&#xff1a;http://www.mohu.org/info/symbols/symbols.htm Latex公式&#xff1a;https://www.luogu.org/blog/IowaBattleship/latex-gong-shi-tai-quan 在线latex公式编辑器&#xff1a;http://private.codecogs.com/latex/eqneditor.php LaTeX入门…

php xml网站地图生成,dedecms程序后台生成XML网站地图方法

网站为什么要生成XML地图&#xff1f;因为蜘蛛只能用XML地图来导航&#xff0c;为了更好的被收录&#xff0c;所以才要利用XML地图文件做sitemap。像我们的主站也是有导航的xml文件的哦&#xff0c;51PHP百度MAP 51PHP谷歌MAP&#xff1b;今天无忧主机小编教您如何制作简单可…

网站服务器和与主机区别,网站服务器和主机的区别

网站服务器和主机的区别 内容精选换一换本文介绍通过华为云市场镜像“Drupal内容管理系统(LAMP)”搭建Drupal网站的方法。Drupal是使用PHP语言编写的开源内容管理框架(CMF)&#xff0c;它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。Drupal用于构造提供多种功能和服…

一个成功的响应式网站该怎么策划

原文链接一个成功的响应式网站该怎么策划建站宝盒 2017-05-18 15:40:28 浏览55 评论0html5 网站建设 用户体验摘要&#xff1a; 一个成功的响应式网站需要具备公信力、营销力、传播力&#xff0c;要达到这样的要求网站策划就显得非常关键&#xff0c;网站策划是企业网站建设的重…

SharePoint Online 创建门户网站系列之母版页

前 言 虽然SharePoint中母版页看起来只是头部Banner和底部版权信息这两个部分&#xff0c;但是实质在SharePoint Online中的页面模型中占有重要地位&#xff0c;而且SPO对母版页有着完善的签入签出机制和版本控制&#xff0c;方便使用。 同时&#xff0c;除了保持网站所有页面的…

华纳云香港CN2站群服务器,1C/2C/4C不同C段可选,多达253个独立IP,SEO优化推广首选 含测评

香港站群服务器应用场景&#xff1a; **1.PBN站群SEO&#xff1a;**PBN站群拥有多个独立ip&#xff0c;且互不干扰。快速稳定的网站表现才可以吸引到更多的用户及蜘蛛爬行。 **2.跨境电商运营&#xff1a;**无论第三方平台开店还是自建店群都要求能够让买家快速访问&#xff0c…

Hulu李彬:看到不一样的视频网站,所遇挑战何尝不是一次革新的机会?

Hulu软件技术开发有限公司&#xff08;以下简称Hulu&#xff09;是美国三大电视网NBC、福克斯、迪斯尼合力在2007年建立的在线视频服务网站&#xff0c;主要目的是使传统媒体业务转型成数字新媒体&#xff0c;能够让更多的用户通过互联网上的不同的平台和方式访问视频内容。 此…

【ASP.NET基础】简单企业产品展示网站--产品编辑CRUD

摘要&#xff1a;本文记录创建一个小的、简单的产品网站的步骤。 一&#xff0c;搭建一个简单的产品展示网站&#xff0c;熟悉以下知识点&#xff1a;NVelocity模板引擎、Ajax无刷新页面请求&#xff0c;文件上传&#xff0c;Row_Number实现分页&#xff0c;ckEditor使用&#…

记一次JavaWeb网站技术架构总结

题记工作也有几多年了&#xff0c;无论是身边遇到的还是耳间闻到的&#xff0c;多多少少也积攒了自己的一些经验和思考&#xff0c;当然&#xff0c;博主并没有太多接触高大上的分布式架构实践&#xff0c;相对比较零碎&#xff0c;随时补充(附带架构装逼词汇)。俗话说的好&…

LVS和nginx反向代理网站架构

LVS和nginx反向代理网站架构 nginx反向代理和lvs的dr都存在单点&#xff0c;要keepalived做高可用&#xff0c;但是成本高了 f 转载于:https://www.cnblogs.com/MYSQLZOUQI/p/5100056.html

【web标准设计】学习、提高、欣赏网站推荐

【web标准设计】学习、提高、欣赏网站推荐(转&#xff09;文章包含的一些粗俗、庸俗、恶心的言语可能造成您阅读后的不适感&#xff0c;请谨慎选择是否阅读。如你自愿阅读本文&#xff0c;因粗俗、庸俗、恶心的言语给您所造成的任何后果&#xff0c;本文作者不负任何责任。 华丽…

zabbix-自定义监控项(监控网站80连接数)

自定义监控项&#xff08;监控网站80连接数&#xff09; 需求&#xff1a;监控某台web的80端口连接数&#xff0c;并出图&#xff1b; 第一步&#xff1a;客户端创建脚本&#xff1a; 客户端定义脚本&#xff0c;并编辑zabbix-agent配置文件实现运行定义的脚本&#xff1b; 客户…

大型网站技术架构(一)--大型网站架构演化

转自&#xff1a;https://blog.csdn.net/chaofanwei/article/details/26865169 看完了有一本书&#xff0c;就应该有所收获&#xff0c;有所总结&#xff0c;最近把《大型网站技术架构》一书给看完了&#xff0c;给人的印象实在深刻&#xff0c;再加上之前也搞过书本上讲的反向…

传统IDC 部署网站

选择IDC机房 1.选择云主机。 2.传统IDC a购买服务器 b服务器托管 c装系统 装系统 虚拟机软件 vmware workstation virtualbox hyper-v 下载&#xff1a;r.aminglinux.como 系统下载&#xff1a; http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.…

使用phpstudy一键搭建网站

在软件管理中选择要安装的服务。 安装成功以后点击一键搭建 设置域名端口号根目录等信息后点击确定 开启apache和mysql服务 打开浏览器输入域名登录网站 也可以使用在网上找到的套件进行搭建 将套件解压至phpstudy的根目录下 单击创建网站配置好域名端口根目录 单击创建数据库并…

阿里云虚拟主机建立多个网站的方法

今天有朋友问魏艾斯博客&#xff0c;如果想在一个阿里云虚拟主机里面放多个网站怎么办&#xff0c;老魏很久不碰虚拟主机了&#xff0c;研究了一下找到了解决办法&#xff0c;下面来说一下阿里云虚拟主机建立多个网站的方法。 阿里云虚拟主机只能放一个网站&#xff0c;为了能够…

服务器购买+建站流程教程——适合新手没有经验的人Chinar总结

服务器购买购买教程本文提供全图文流程&#xff0c;中文翻译。 Chinar 坚持将简单的生活方式&#xff0c;带给世人&#xff01;&#xff08;拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例&#xff09; Chinar —— 心分享、心创新&#xff01;助力快速完成…