首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【Linux】高级IO --- 多路转接,select,poll,epoll

1. 后端服务器最常用的网络IO设计模式其实就是Reactor,也称为反应堆模式,Reactor是单进程,单线程的,但他能够处理多客户端向服务器发起的网络IO请求,正因为他是单执行流,所以他的成本就不高,CPU和内存这样的资源占用率就会低,降低服务器性能的开销,提高服务器性能。 而多进程多线程方案的服务器,缺点相比于Reactor就很明显了,在高并发的场景下,服务器会面临着大量的连接请求,每个线程都需要自己的内存空间,堆栈,自己的内核数据结构,所以大量的线程所造成的资源消耗会降低服务器的性能,多线程还会进行线程的上下文切换,也就是执行流级别的切换,每一次切换都需要保存和恢复线程的上下文信息,这会消耗CPU的时间,频繁的上下文切换也会降低服务器的性能。前面的这些问题都是针对于服务器来说的,对于程序员来说,多执行流的服务器最恶心的就是调试和找bug了,所以多执行流的服务器生态比较差,排查问题更加的困难,服务器不好维护,同时由于多执行流可能同时访问临界资源,所以服务器的安全性也比较低,可能产生资源竞争,数据损坏等问题。

03

【问底】夏俊:深入网站服务端技术(一)——网站并发的问题

本文来自拥有十年IT从业经验、擅长网站架构设计、Web前端技术以及Java企业级开发的夏俊,此文也是《关于大型网站技术演进的思考》系列文章的最新出炉内容,首发于CSDN,各位技术人员不容错过。 以下为正文: 一、引子 《关于大型网站技术演进的思考》已经连载完了两个系列,它们分别是《存储的瓶颈》和《网站静态化的处理》,这两个系列对应到网站里的组件就是存储端和浏览器端,网站除了这两端外,还有一端那就是服务端了,服务端上接浏览器端,下承存储端,所以当我们想让网站的浏览器端或存储端性能更加优秀的时候,就不得不去考虑

08
领券