Apacheprefork模型: 预派生模式,有一个主控制进程,然后生成多个子进程,使用select模型,最大并发1024,每个子进程有一个独立的线程响应用户请求,相对比较占用内存,但是比较稳定,可以设置最大和最小进程数,是最古老的一种模式,也是最稳定的模式,适用于访问量不是很大的场景。 优点:稳定 缺点:慢,占用资源,1024个进
分类:
Web程序 时间:
2019-05-29 21:59:34
阅读次数:
154
为什么选择nginx nginx非常轻量 互联网公司都选择nginx nginx技术成熟,具备的功能时企业最常用使用而且最需要的 适合当前主流架构趋势,微服务、云架构、中间层 统一技术栈,降低维护成本,降低技术更新成本 nginx采用Epool网络模型,Apache采用Select模型 Select... ...
分类:
其他好文 时间:
2019-05-03 11:15:40
阅读次数:
187
多路复用并发模型 -- select #include<sys/select.h> #include<sys/time.h> int select(int maxfd, fd_set *readset, fd_set *writeset, fd_set *exceptset, struct time ...
分类:
其他好文 时间:
2019-02-13 21:16:20
阅读次数:
232
socket网络编程中有多种常见的I/O模型: 1.blocking阻塞 2.nonblocking非阻塞 3.I/O multiplexing复用 4.signal driven 5.asynchronous I/O异步 这里我们主要介绍I/O multiplexing模型中的代表select模型 ...
分类:
其他好文 时间:
2019-02-10 21:51:10
阅读次数:
178
select系统调用的的用途是:在一段指定的时间内,监听用户感兴趣的文件描述符上可读、可写和异常等事件。 select 机制的优势 为什么会出现select模型? 先看一下下面的这句代码: int iResult = recv(s, buffer,1024); 这是用来接收数据的,在默认的阻塞模式下 ...
分类:
系统相关 时间:
2018-11-28 22:05:30
阅读次数:
269
服务器: 客户端: 服务器就是apache: select模型 ...
分类:
编程语言 时间:
2018-10-12 01:25:23
阅读次数:
126
最近在看有关IO复用方面的内容,自己也用标准c++库实现了select模型、iocp模型、poll模型。回过头来很想了解QT的socket是基于什么模型来实现的,所以看了QT关于TcpServer实现的相关源码,现在将所了解的内容记录下来,希望对感兴趣的朋友有所帮助。 1.我们先从QTcpServe ...
分类:
其他好文 时间:
2018-09-24 14:49:59
阅读次数:
174
高并发服务器 1.线程池并发服务器 两种模型: 预先创建阻塞于accept多线程,使用互斥锁上锁保护accept(减少了每次创建线程的开销) 预先创建多线程,由主线程调用accept 线程池 3.多路I/O转接服务器 三种模型性能分析 select模型 select用来阻塞监听4,5,6,7是否有数 ...
分类:
系统相关 时间:
2018-08-21 21:14:12
阅读次数:
250
在前面我们说了WSAAsyncSelect 模型,它相比于select模型来说提供了这样一种机制:当发生对应的IO通知时会立即通知操作系统,并调用对应的处理函数,它解决了调用send和 recv的时机问题,但是它有一个明显的缺点,就是它必须依赖窗口。对此WinSock 提供了另一种模型 WSAEve ...
select 模型虽然可以管理多个socket,但是它涉及到一个时机的问题,select模型会针对所管理的数组中的每一个socket循环检测它管理是否在对应的数组中,从时间复杂度上来说它是O(n^2)的,而且还有可能发生数组中没有socket处于待决状态而导致本轮循环做无用功的情况,针对这些问题,w ...
分类:
其他好文 时间:
2018-06-03 12:18:36
阅读次数:
168