并发与并行

并发和并行从宏观上来说都是同时处理多路请求的概念。但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。web

    在操做系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。服务器

①程序与计算再也不一一对应,一个程序副本能够有多个计算
②并发程序之间有相互制约关系,直接制约体现为一个程序须要另外一个程序的计算结果,间接制约体现为多个程序竞争某一资源,如处理机、缓冲区等。
③并发程序在执行中是走走停停,断续推动的。

    在网络服务器上,并发是指同一时刻能处理的链接数,好比,服务器能创建1000个TCP链接,即服务器同时维护了1000个socket,这个服务器的并发量就是1000,可是服务器可能只有单核或者8核,16核等,总之对这1000个socket链接的处理也是分时来作的。每一个socket服务器处理的时间若是是1s,那么该服务器1s内能够处理完1000个请求,若是每一个socket处理100ms的话,那么该服务器1s内能够处理10000个请求。网络

 

    在这里咱们先抛出一些概念,若是这些概念都弄清楚了,并发和并行基本就清楚了。并发

    会话:在咱们用电脑工做时,打开的一个窗口或一个Web页面,咱们能够把它叫作一个“会话”,扩展到web服务器上,要维护不少个用户的web页面访问,咱们能够认为服务器管理了多个“会话”。socket

    并发链接数:网站有时候报错:“HTTP Error 503. The service is unavailable”。但刷一两下又正常,估计极可能是超过网站的最大并发链接数了。并发链接指网络流量管理设备或代理服务器对其业务信息流的处理能力,是可以同时处理的点对点链接的最大数目,它反映出设备对多个链接的访问控制能力和链接状态跟踪能力,这个参数的大小直接影响到设备所能支持的最大信息点数。性能

    并发能够理解为服务器最多维护多少个会话数,并行则不同,它关系的是有多少个会话是在同时进行,假若有两台服务器(进程),可能并行的数量是2,而并发的数量是1000。咱们还能够对比下吞吐量和带宽的概念。测试

   吞吐量与带宽的区分:吞吐量和带宽是很容易搞混的一个词,二者的单位都是Mbps。先来看二者对应的英语,吞吐量:throughput;带宽:Max net bitrate。当讨论通讯链路的带宽时,通常是指链路上每秒所能传送的比特数,它取决于链路时钟速率和信道编码在计算机网络中又称为线速。能够说以太网的带宽是10Mbps。可是须要区分链路上的可用带宽(带宽)与实际链路中每秒所能传送的比特数(吞吐量)。一般更倾向于用“吞吐量”一词来表示一个系统的测试性能。这样,由于实现受各类低效率因素的影响,因此由一段带宽为10Mbps的链路链接的一对节点可能只达到2Mbps的吞吐量。这样就意味着,一个主机上的应用可以以2Mbps的速度向另外的一个主机发送数据。网站

   带宽能够理解成是并行,即同时能够有10M 个bit(0,1)在线路中传输。而吞吐量相似并发,指主机每秒能够处理2M个bit。比喻有些不是很恰当,但仔细体会下,有些相似之处。编码

相关文章
相关标签/搜索