我们先来看被大家普遍认知的概念: PV(访问量): 即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。 UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。 其实对于并发你也可以这么理解: 所谓的并发,实际上就是服务器能够同时承载的客户端的数量,且能够为客户端提供稳定的服务,如果过来100W的客户端连接,你都不能提供服务了,那还算什么并发呀。 我们经常听到的百万并发指的是啥呢,指的是服务器能够承载1000W客户端同时访问,并且稳定的为客户端提供服务。 从服务器的角度来看,到底并发来的时候,服务器是依靠什么来承载高并发的? - epool
我们都知道,网卡收到网线传来的数据,经过硬件传输,把数据放在内存中,然后操作系统才去读取它们。
当网卡把数据写入到内存后,网卡会向CPU发出一个中断信号,cpu执行中断程序,操作系统便能知道又新数据来。然后通过网卡中断程序去处理数据。处理的时候先将网络数据写入对应的socket接收的缓冲区里面,每个socket对应着一个端口,而网络数据包中包含了ip和端口的信息,内核就可以通过端口号找到对应的socket.进行数据处理 - 内存
- 磁盘
从业务上来说,我们关注一个网站的参数,主要有: - 业务并发用户数
- 最大并发访问数
- 系统用户数
- 同时在线人数
以我们学校的学生考试系统来举例, 学生考试系统,最高峰时5000人同时在线, 这个是同时在线人数。也就是最大业务并发数。
5000人同时登录上线,但是都在做题,但并不是同时提交,只有提交时才构成并发,每个人的做题速度不一样,有的5分钟做完,有的半个小时做完。
这个考试系统,5000人登录,从登录到退出大约20分钟,也就是0.3小时 业务并发数: 5000*0.3/8 =187.5 (这里的8等于,按一天8个小时来算)
高峰值的业务并发数: 187.5 *1.5 = 281 (1.5是个经验值,高峰是平时的1.5倍,仅作参考值) 这样可以算出,一天的业务并发数为188.,高峰为290,(四舍五入) 不过很少有人会这么去计算并发,因为大多数时候下,我们是通过业务量来预算可能有多少人访问,进而可能产生多少并发,然后再去安排服务器。
|