
高性能服务器
文章平均质量分 80
kai8wei
这个作者很懒,什么都没留下…
展开
-
一.服务器编程框架
IO处理单元:单服务器中用于等待或者接受客户端的连接,接受客户端的数据,将服务器的响应数据传给客户端。有时候也不接受数据的读写只是将数据发生的事件交给逻辑单元(进程线程)处理。(与nginx的master-worker进程的方式有点类似); 服务器集群IO处理可以使用一个专门的接入服务器实现反向代理和负载均衡,此时后边的逻辑单位就是各种的逻辑服务器,可能原创 2016-04-26 20:28:44 · 531 阅读 · 0 评论 -
三.两种高效事件处理模型
服务器程序一般处理三类事件:IO事件 信号 定时事件NGINX 使用的是Reactor事件处理模型原创 2016-04-26 21:42:48 · 523 阅读 · 0 评论 -
四.两种高效的并发模式
首先进程的出现就是由于程序在遇到要跳转执行其他程序而导致寄存器被污染而形成程序执行状态的不可再现性。进程的出现使得程序交替执行成为可能,这就是所谓的并发, 并行就是在多个逻辑处理单元中同一时刻执行。有时候也不要过于盲目的使用多进程或者多线程来实现并发,尤其在服务器编程的时候,因为如果程序是计算密集型的话,过多的上下文切换陷入内核会导致cpu忙于进行上下文切换而没有做一些我么认为有用的事,使原创 2016-04-26 22:21:20 · 830 阅读 · 0 评论 -
详细说说select poll epoll
(以下内容来自网络和自己的总结,再次感谢网络中的大神们提供的见解)在探索select poll epoll之前我们首先要知道什么叫多路复用:下来探索一下为什么会用到多路复用:首先我们看看一个客户端请求服务器的完整过程。首先,请求过来,要建立连接,然后再接收数据,接收数据后,再发送数据。具体到系统底层,就是读写事件,而当读写事件没有准备好时,必然不可操作,如果不用非原创 2016-04-24 15:42:30 · 2427 阅读 · 0 评论 -
sendfile函数如何实现零拷贝提高性能
现在流行的 web 服务器里面都提供sendfile 选项用来提高服务器性能,那到底 sendfile 是什么,怎么影响性能的呢?sendfile 实际上是 Linux 2.0+ 以后的推出的一个系统调用,web 服务器可以通过调整自身的配置来决定是否利用 sendfile 这个系统调用。先来看一下不用 sendfile 的传统网络传输过程:char tmp_buf[100原创 2016-04-24 14:20:39 · 1546 阅读 · 1 评论 -
负载均衡
负载均衡,英文名称为LoadBalance,其意思就是将负载(工作任务)进行平衡,分摊到多个操作单元上进行执行(例如Web服务器、FTP服务器等),实现多个服务器共同完成工作任务的目标。负载均衡建立在现有网络结构之上,它提升了服务器的性能、提高了带宽利用率,增强了网络的灵活性和可靠性。经过十年的发展,负载均衡已经成为网络应用的重要设备,甚至成为大型网络应用的核心设备,与基础路由、交换设备市场并驾齐原创 2016-04-27 14:52:38 · 562 阅读 · 0 评论 -
二.I/O模型
5中IO模型:原创 2016-04-26 20:33:48 · 314 阅读 · 0 评论 -
五.服务器提高性能的建议
原创 2016-04-26 22:38:46 · 355 阅读 · 0 评论