第61269页 系统调用&内存分配&持久连接
塘外人
读过 构建高性能Web站点
- 章节名:系统调用&内存分配&持久连接
- 页码:第61269页
3.3:系统调用 用户态:进程和CPU和内存打交道 内核态:进程和外设硬件(磁盘、网络)打交道 分离的好处:提高对底层操作安全性和简化开发模型 系统调用:进程从用户态切换到内核态,开销比较昂贵 减少不必要的系统调用,也是WEB服务器性能优化的一个方面 3.4:内存分配 Apache:多进程模型,基于内存池的内存分配策略,内存消耗很多,支持的并发数较少 lighttpd:单进程模型,内存消耗较少 Nginx:单进程模型,内存使用量最小,(使用多线程处理请求,共享内存资源。使用分阶段的内存分配策略,按需分配及时释放)能支持较大并发数。 3.5:持久连接(Keep-Alive)——长连接 长连接:指在一次TCP连接中持续发送多份数据而不断开连接。连接复用。 短连接:指建立连接后发送一份数据后连接便断开。每次请求都重新建立新的连接 长连接对密集型的图片或小网页等小数据请求处理有明显的加速作用。 目前主流的浏览器都支持长连接,在HTTP请求中声明长连接: Connection:Keep-Alive 目前主流的web服务器都支持长连接,Apache默认开启长连接,关闭方法: KeepAlive Off 长连接超时时间: IE7,默认1分钟 Apache配置:KeepAliveTimeout 30 #秒,默认5s 超时时间不宜太长,以免影响并发的其他请求 ab对长连接的支持:加参数 -k ======================================= 结论: 减少系统调用 在高并发应用中使用单进程多线程的服务器,比如Nginx,减少内存分配 合理利用长连接,减少连接建立的开销
塘外人对本书的所有笔记 · · · · · ·
-
第36250页 3.1:吞吐率
并发用户数:某时刻同时访问服务器的用户总数。最大并发用户数,服务器能承受的最大的并发用...
-
第50261页 3.2:CPU并发计算
1.进程优先级 Linux对进程的优先级动态调整体现在nice属性中。top中的PR代表优先级,其含义是...
-
第61269页 系统调用&内存分配&持久连接
-
第69282页 3.6:I/O模型
要解决的问题: 如何让高速的cpu和慢速的IO设备更好的协调工作,让cpu话费足够少的时间在IO操...
-
第82296页 3.7:服务器并发策略
设计并发策略的目的: 让cpu在IO等待是不要空闲,和让cpu在IO调度上尽量花费最少的时间 =====...
说明 · · · · · ·
表示其中内容是对原文的摘抄