计算机网络编程第十讲服务器并发性的统一、高效管理

上传人:san****019 文档编号:16347220 上传时间:2020-09-27 格式:PPT 页数:10 大小:1.76MB
返回 下载 相关 举报
计算机网络编程第十讲服务器并发性的统一、高效管理_第1页
第1页 / 共10页
计算机网络编程第十讲服务器并发性的统一、高效管理_第2页
第2页 / 共10页
计算机网络编程第十讲服务器并发性的统一、高效管理_第3页
第3页 / 共10页
点击查看更多>>
资源描述
计算机网络编程,第十讲 服务器并发性的统一、高效管理,目的: 设计更灵活、性能更优化的并发服务器。,计算机网络编程,电子科大计算机学院,服务器并发性的统一、高效管理,定义:服务器整个生命期中,同时并发的最大线程数量。 该参数某种意义上代表了该服务器的最大资源开销。 我们可以限制服务器的最大并发数量 也可以不限制(允许创建任意多的线程),此时该服务器的并发等级受限于操作系统的限制。,计算机网络编程,电子科大计算机学院,并发等级,当收到远程连接请求时触发线程创建 服务器的并发等级依赖于客户的需求 同时存在的连接越多,并发等级越高,计算机网络编程,电子科大计算机学院,需求驱动的并发,需求驱动虽然能够提供动态的灵活性,同时处理多个连接 但是并不一定是最优化的。因为并发是有代价的。,计算机网络编程,电子科大计算机学院,需求驱动并发的代价,在需求驱动模式下,任一时刻的并发等级反映了当时服务器已收到但还没有处理完毕的请求数目。 为每个请求创建一个新进程/线程,开销昂贵。 一方面会带来处理的时延 创建进程/线程需要较长的时间 另一方面会消耗系统资源 每个请求一个进程/线程,资源消耗大,计算机网络编程,电子科大计算机学院,额外开销和时延,预分配进程/线程可用于控制延迟、限制并发等级 主服务器在开始执行时就创建N个从进程/线程 将所接受的新的请求分配给这N个从进程/线程中的一个处理 每个进程/线程等待请求,请求到达后处理 进程/线程并不退出,从线程/进程的预分配,计算机网络编程,电子科大计算机学院,计算机通信与网络编程,电子科大计算机学院,无连接服务器中的预分配,主进程,从进程1,从进程2,从进程3,用于熟知端口的套接字,操作系统,预分配的从进程,Linux允许无连接服务器采用预分配策略。 多个从线程同时绑定在一个socket上调用recvfrom获得发送方的地址和其发送的数据报,并调用sendto应答。一个数据报到达的时候系统只唤醒一个从进程。 请思考:如果在某个系统中recvfrom会同时唤醒所有的从线程,我们还能使用预分配方式吗?如果能,说出一种可能的处理方式。,计算机通信与网络编程,电子科大计算机学院,无连接服务器中的预分配,互斥: 调用recvfrom前申请互斥,pthread_mutex_lock 调用结束pthread_mutex_unlock,根据处理机数目的多少,我们可以调整预分配从进程的数目 当系统中有K个处理器时,分配K个从进程,在最好情况下,可以使得接受处理几乎没有任何延迟。,计算机通信与网络编程,电子科大计算机学院,多处理器上的预分配,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!