网站开发 APP开发 小程序开发 SEO优化 公司新闻

浅谈大流量高并发网站会遇到的问题及解决方法

2018-05-15 10:32:32
999

  我们经常说的一个网站是小网或者是大型网站,都是基于流量和并发来说的。

  一般来说,一个企业的官网,不管栏目结构和功能都有什么,只要他的流量不到一定规模,这个网站也是小网站。反过来,即使一个网站仅仅只提供文章阅读,并没有提供其他的一些功能,但是他的流量非常高,我们也可以说他是一个大型网站。

  作为一个网站建设公司,经常遇到一些客户说:我要做一个XX网,对你们来说非常简单,几万块钱就行了吧?

  每次遇到这样的客户我们都苦笑不得,不厌其烦的跟他们讲解大型网站开发中会遇到的问题。

  一般来说,大型网站建设中主要是两方面的问题:流量和并发,这两个方面的问题又可以细分。

  我们说到大型网站建设会遇到的两个问题:流量和并发,今天我们着重说一下流量的问题。
 

  流量问题,是指用户从服务器上获取网站内容而进行下载所消耗的流量。说到流量,就不能不说到带宽。服务器带宽是最大的也是最根本的瓶颈,也是服务器成本组成中费用最多的部分。

  这里要科普一下,服务器带宽所说的M,实际上是Mb,而不是通常文件大小的MB。而1B=8b,所以1M带宽实际下载极限速度大约是128kb/秒。

  举个例子,一个网站的官网打开需要下载页面源文件,各种图片,css文件和js文件,这些文件加起来有2M大小。假设我们服务器带宽是1M的,页面完全加载完毕要15秒左右,而一般用户等到8秒就会不耐烦了。

  一个网站15秒打开是完全不能接受的,甚至8秒都不太能接受。那么如何解决这个问题?不同的网站建设公司有着不同的解决方案,不同的方案需要的技术含量、时间、成本都不同。

  我们从网站打开的流程来说下都是有哪些问题需要解决:

  1. 域名解析、DNS

  2. 服务器响应

  3. 浏览器缓存

  4. 文件读取

  5. 文件下载

  首先,用户在浏览器输入域名并访问,浏览器先查询本机有没有这条域名的解析记录,如果有,就直接访问,没有,则需要去域名解析服务器去查询该域名对应服务器的IP。

  得到域名对应的服务器IP后,再向该服务器发起请求。服务器接收到这个请求以后,再根据请求的不同,将结果也就是页面源码返回给用户。

  用户收到页面源码,浏览器会根据源码的内容,判断页面所需要的内容是否已经在本地缓存了。如果已经缓存,就直接调用,如果没有,就得再向服务器发起请求,要求下载。

  服务器收到请求,会在去查找该资源,读取并返回。

  本地浏览器获取到页面源代码和页面所需要的资源,进行计算渲染以后,就是我们看到的页面了。