一个可以支持10亿人民同时在线的 HTTP Server


GigaHttpd 设计需求


版本:    0.1
提交时间: 2008-04-02
本版作者: 鲁义明 (Yiming Lu) lu.yiming.lu@gmail.com
所属:    GigaHttpd 开发文档



* 性能

    标准系统可以响应 10 亿用户同时在线访问。

    每个 HTTP 请求/响应的时间不超过 10 秒,最好小于 1 秒。


* 硬件平台

    标准系统如下:

    (1) 1000 台 PC,x86 体系。

    (2) 每台 PC 有大约 10 个 CPU core,64 位,所以总共有 1 万个 CPU core。

    (3) 每台 PC 有大约 10GB 内存,所以总共有 10TB 内存。

    (4) 每台 PC 有多块 1G/10G 以太网卡。

    (5) 每台 PC 有硬盘。

    当然用户可以根据实际需要增减 PC 数量。


* 软件平台

    Linux。修改内核,可能的方面包括驱动、内存管理、调度、文件系统等等,以便提升性能。

    开发环境首选 Redhat 公司的 Fedoro Core 系列。


* 软件发布

    软件发布包括两部分:

    (1) Linux 内核补丁

    (2) 应用程序,用于 daemon。


* 热插拔与容错

    系统中的任何一台 PC 可以被随时撤下(或者死机),直至只剩最后一台,整个系统不会丢失任何数据,还可以继续个工作,虽然性能会下降。

    可以随时增加 PC,系统自动识别并启用。

    整个系统会根据 PC 增减,自动重新分配内部的数据分布,以及工作分工。


* 样例网站

    开发团队维护一个样例网站,以展示系统性能。












Contact: 鲁义明 (Yiming Lu) - lu.yiming.lu@gmail.com