Hi!请登陆

大流量网站怎么优化

2020-10-31 90 10/31

大流量网站怎么优化

最近面试总是多多少少会出现这个问题,虽然OZABC的网站流量不大,但是如果解决这个问题,但是在理论上还是能回答的。

首先能够明确的是,一般问这个问题的人应该没听过C10K这个问题吧,注意修饰词一般。所以你有挺高的概率不需要从更底层的回答这个问题,比如多线程和多进程的取舍,或者使用异步和非阻塞等等。。。不过OZABC还是建议你去了解一下C10K这个概念!这个地方有原文点我,这个地方有翻译点我

这个问题回答的方式,出发点很多。OZABC认为这样回答比较好:

上牛

庖丁解牛这个成语大家一定听过,第一步我们要做的就是先把牛端上来。

所以,我们首先这样说:

在排出与数据链路层以下相关的概念后,当一个用户在浏览器输入一个网址后,首先DNS需要解析网址为IP,然后有客户端通过既定的IP:PORT形式链接目标服务器,当服务器接收到请求的时候,服务器一般会进行一些运算,然后进行响应,用户收到相信的信息后街完成了一次标准的HTTP请求。

如果怕面试官问到TCP/IP,比如TCP是怎么链接的,那么请深入阅读鸟哥的私房菜或者看看OZABC的鸟哥的私房菜学习笔记 -- 网络速查补补。

解牛

(下面是OZABC的简单总结,希望大家一起补充)

为了更好的理解,我们在此加一个图,既然是服务器的优化,我们就不需要操心浏览器的事情,所以我们主要考虑链路和服务器内部的优化。

浏览器 ----> 云 ----> 服务器

浏览器 <---- 云 <---- 服务器

现在我们使用放大镜,有针对性的把刚才每一个环节能做到的优化尽可能的说出来!

优化请求

DNS优化

DNS优化概念很简单也复杂,更是很烧钱的环节。一个良好的DNS优化可以让整个访问时间减少10%左右,作为一个新手,如果你理解的DNS只是配置一下114.114.114.114,那你可要好好学习巩固一下DNS的更多高级应用了。起码知道什么是域名污染、域名劫持什么的才行!

目前很多公司都在做这块业务,OZABC目前使用DNSPOD,不过不排除会更换。

针对DNS优化这块后面也会提到。

双线接入

这个可以和DNS配合,服务器在数据中心可以有电信联通多个出口,这样每次发送数据都可以走一条最快的线路。

使用新的协议

这方面可以关注google的SPDY协议,或者最近很火的HTTP2.0草案。

CDN

CDN技术可以减少源服务器的压力,将内容有组织的分发到各个节点,起到了一定的加速作用。但是弊端就是可能会产生内容更新的问题。

解决办法可以是设定一个合理的更新时间,为静态文件加上版本控制等。。。

针对另一个问题 如何科学的更新服务器的资源,请参考 大公司里怎样开发和部署前端代码?

优化服务器内部

让我们再使用放大镜,看看请求到达服务器后都发生了什么事情,请允许OZABC使用一个最简单的网站架构为例

请求 ------↘
请求 ------> 前端服务器 ------> 后端服务器 ------> 缓存服务器 ------> 数据库
请求 ------↗

这里面的优化门道都很多,比如说

使用负载均衡技术分散用户请求到多个前端服务器,待续。。。

Tag:

相关推荐