SPServer : 一个基于线程池(包括HAHS和LF)的高并发 server 框架》的相关内容

SPWebServer:一个基于 SPServer 的 web 服务器框架

看到这个题目,估计很多人会问:为什么要再实现一个 web 服务器? 这里有几个原因: 1.这是一个 web 服务器框架,不是一个完整的 web 服务器。也就是说 SPWebServer 提供的是一套 API 和类库,可以方便地集成到现有的应用程序中。可以称 SPWebServer 为 embedded web server 。 2.有些时候,我们需要的不是一个功能强大完整的 web 服务器( ...
by iunknown 2007-05-10 浏览 (4735) 回复 (5) 关键字: libevent spserver http embedded web 服务器

SPProcPool: Unix/Linux 上的进程池服务器框架

SPProcPool 是一个 linux/unix 平台上的进程池服务器框架,使用 c++ 实现。主要包含了几种不同类型的进程池的实现: 一个基于 Leader/Follower 模式的服务器端进程池(类似 apache 的 prefork 模型); 一个组合了 Prefork 和线程池的服务器端框架(类似 apache 的 worker 模型); 一个基于文件句柄传递的服务器端进程池; 一个用于 ...
by iunknown 2007-12-09 浏览 (1521) 回复 (5) 关键字: process pool 进程池

对比一下Boost::Asio和SP_Server的实现

Boost::Asio的异步操作和本版iunknown的SP_Server,在本质上都属于用Reactor来模拟Proactor实现,其基本原理是一样的,就是将Reactor中的IO就绪事件封装成为IO完成事件。 sp_server基于libevent,它的工作原理是:libevent不断抛出io就绪事件,由sp_server负责处理io之后,再封装好io完成事件,然后将处理该事件的complet ...
by fredzhang 2008-07-07 浏览 (605) 回复 (3) 关键字: 网络编程

SPWebServer:一个基于 SPServer 的 web 服务器框架

看到这个题目,估计很多人会问:为什么要再实现一个 web 服务器? 这里有几个原因: 1.这是一个 web 服务器框架,不是一个完整的 web 服务器。也就是说 SPWebServer 提供的是一套 API 和类库,可以方便地集成到现有的应用程序中。可以称 SPWebServer 为 embedded web server 。 2.有些时候,我们需要的不是一个功能强大完整的 web 服务器( ...
by iunknown 2007-05-10 浏览 (4924) 回复 (5) 关键字: libevent spserver http embedded web 服务器

Half-Sync/Half-Async 和 Leader/Follower 模式的实现代码

在 SPServer 中实现了 HSHA 和 LF 两种线程池。 目前的实现还是比较可读的,这两种线程池最主要的处理逻辑各自都被集中到了一个函数中。 先来看看 HSHA 的核心实现代码 http://spserver.googlecode.com/svn/trunk/spserver.cpp int SP_Server :: start() { ...... SP_Exe ...
by iunknown 2007-07-06 浏览 (1013) 回复 (0)

c10k问题

The C10K problem 编写连接数巨大的高负载服务器程序时,经典的多线程模式和select模式都不再适用。应当抛弃它们,采用epoll/kqueue/dev_poll来捕获I/O事件。最后简要介绍了AIO。 网络服务在处理数以万计的客户端连接时,往往出现效率低下甚至完全瘫痪,这被称为 C10K问题。随着互联网的迅速发展,越来越多的网络服务开始面临C10K问题,作为大型 网站的开发人员有 ...
by dogstar 2008-05-29 浏览 (595) 回复 (2)

如何处理大量并发连接的超时

最近用epoll实现了一个reactor架构的网络框架,利用epoll的一些特性,实现了Reactor/LFReactor/HSHAReactor。Reactor是单线程的;LFReactor利用epoll_wait允许多个线程调用的特点,多个线程排队不用线程锁就可以完成;只有HSHAReactor使用了一个同步队列,测试性能也还不错。 另一个一直在犹豫的功能没加进去,就是连接超时。由于TCP本 ...
by qiezi 2007-08-08 浏览 (889) 回复 (2)

SPProcPool 0.5 发布

SPProcPool 是一个 linux/unix 平台上的进程池服务器框架,使用 c++ 实现。 在 0.5 版中增加了一个类似 apache worker 的服务器模型。在之前 Leader/Follower 模型的基础上,在每个子进程中使用一个固定大小的线程池来为每个请求服务。这个模型的特点是能够支持较高的并发连接数。 项目主页: http://code.google.com/p/spp ...
by iunknown 2008-01-05 浏览 (445) 回复 (0) 关键字: 进程池 prefork

赞助商链接