加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

基础拾掇之——http基础

发布时间:2021-01-10 07:05:02 所属栏目:安全 来源:网络整理
导读:副标题#e# 《基础拾掇之——http基

因为http默认是工作在阻塞模型下的,默认一次只接收一个请求,处理完请求后再去接收下一个请求,所以只能一个一个来.
所以我们希望并发响应用户请求,需要多进程模型.web服务器自己会生成多个子进程响应用户请求,也就是说,当一个用户请求发到Web服务器,Web主进程不会直接响应用户请求,而是生成一个子进程响应这个用户请求,这样当子进程和此用户建立连接之后.Web的主进程就会再等待另一个用户的请求,当第二个用户请求过来之后,在生成一个子进程响应第二个用户请求.以此类推.所以每一个用户请求都由一个子进程来处理.

连接套接字

Client IP,cport ? server IP,sport

一个主进程会生成N个子进程来响应用户请求,而实际上还是主进程来响应客户端的请求.连接套接字不是真正响应用户请求的,而仅仅会是用来标记用户请求.Web服务器真正建立连接的不是80端口,而是使用一个其他的临时端口.会有人奇怪,明明我请求的是80端口,而你却使用临时端口响应我,其实不是这样,这个临时端口只是用来标记这么个客户端请求的,而不是真正去响应客户端请求.真正响应还是要主进程的80端口向外响应.

监听套接字:只有主服务才监听的.也就是使用80端口

web服务器的I/O结构:

  • 单进程模型:一次只响应一个请求
  • 多进程模型:每个进程响应一个用户请求而实现并发的效果
  • 复用的I/O机制:一个进程生成多个线程,每个线程响应一个用户请求,
  • 复用的I/O机制:启用多个线程,但每个线程响应多个请求

    我们使用的是单个线程,而不是进程

进程复用(多进程模型)

我们知道,当Web服务器需要响应用户请求,会生成一个子进程去响应该用户的请求,但一般用户请求完成之后,Web服务器需要销毁这个子进程.那么来来去去,我们需要不断的创建子进程、销毁子进程…,这样会消耗系统资源.为了解决这样的问题,我们可以创建一个进程池,里面存放着一些空闲的子进程,那么当用户请求过来的时候,我们可以从进程池里取出一个空闲的子进程去响应用户请求.若请求结束之后,我们又将子进程返回到进程池中,这样就能省去系统创建、销毁子进程所带来的没必要的系统资源浪费.
而这个进程池有多大呢?是根据你服务器上的资源以及你服务器用户需求到到底有多大来创建的.而创建这个进程池也有一个好处,能定义我们最多使用多少个子进程,这样能免得一旦大量的请求涌进来,直接击垮我们的服务器.有了进程池就能避免这个问题.当我们的进程池里的子进程全用完了,如果此时还有请求进来,那么你就只能在外面排队等待了.所以使用进程池还能做到控制并发请求量的.

网站流量度量及并发量概念及计算

IP

IP(Internet Protocol)指独立的IP地址,用于衡量网站流量的一个重要指标.当客户端使用独立不同的IP地址访问网站,都将会被记录,被记录的总数就是为一个衡量指标.一般一天内,相同的IP地址访问网站只会被记录一次.
但是使用独立的IP地址来衡量网站的访问量会缺点,就是我们知道ADSL和NAT的关系,所以获取到的IP总数和实际访问情况将不是完全匹配.

PV

PV(Page View)页面浏览访问量,通常衡量一个网络新闻频道和网站甚至一条网络新闻的主要指标.网页浏览数是评价网站流量的最常用的指标之一.无论客户端是否不同、IP是否不同,只要你使用浏览器向服务器发起一次请求(页面浏览量和单击量),那么当服务器端接收到请求后会响应客户端,而这些都会被记录在PV中.
所以PV的数量大体反映浏览网站的页面数量,但是也有一定的缺点,那就是刷新网页也会被计数在PV,所以PV数并不是真正页面来访者的数量,因为一个来访者可以产生多个PV.

UV

UV(Unique Visitor)网站独立访客,同一个客户端访问网站都会被将认为是统一独立访客.一天内使用相同的客户端访问同一个网站都将只会计算一次UV
使用UV来计算会有一个缺点,那就是比如在学校里,一台客户端计算可能存在多个人使用的情况,这样就会产生数值误差.

并发连接

网站服务器在单位时间内能够处理的最大连接数

IP、PV、UV、并发量的计算

对IP计算

1.分析网站的访问日志,去除相同的IP地址

2.使用第三方统计工具

3.在网页后添加多一个程序代码统计字段,然后使用日志分析工具对程序代码字段进行统计.

对PV的计算

1.分析网站的访问日志,计算HTML及动态语言等网页的数量

2.使用第三方统计工具

3.在网页后添加多一个程序代码统计字段,然后使用日志分析工具对程序代码字段进行统计.

对UV的计算

1.分析客户端的HTTP请求报文,将客户端特有的信息记录下来进行分析.若能满足共同的特征将会被认为是同一个客户端,那么此时将记录为一个UV.

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!