当前位置:  软件>C/C++软件

高性能 Web 服务器 Lwan

    来源:    发布时间:2015-02-21

    本文导语:  Lwan 是一个高性能和可伸缩的 Web 服务器软件,支持 glibc/Linux 平台。 Lwan 开发了将近 3 年时间,目前还是个人研究的成果。主要是为了构建一个坚固、轻量级高性能的 Web 服务器。 特点: 占用内存低 (1万个空闲连接只占用 ~500K...

Lwan 是一个高性能和可伸缩的 Web 服务器软件,支持 glibc/Linux 平台。

Lwan 开发了将近 3 年时间,目前还是个人研究的成果。主要是为了构建一个坚固、轻量级高性能的 Web 服务器。

特点:

  • 占用内存低 (1万个空闲连接只占用 ~500KiB)

  • 最小化的内存分配和拷贝

  • 最小化的系统调用

  • 精确的 HTTP 请求解析

  • 使用最高效的方法来处理文件服务

    • 大于 16k 的文件不需要进行核心和用户层的拷贝

    • 更小的文件使用内存映射缓冲向量 I/O 发送

    • 处理压缩小文件时考虑Header 开销

  • 大多数无等待、多线程设计

  • 核心代码只有 7200 行左右

性能:

在一台使用 i7 处理器的笔记本上可以达到每秒 32 万无磁盘访问的 HTTP 请求。当访问磁盘,测试文件在 16Kb 时可达到每秒 29 万个请求;而更大的文件可到每秒 18.5 万请求。以上测试使用 keep-alive 连接,如果不使用 keep-alive 这个数字可能降低 6 倍左右。

下图是不同并发连接数测试的每秒请求数:

其中绿线是使用如下示例代码的 Hello world 扩展应用,棕色线是 100 字节的文件。

此外 Lwan 也提供 API 扩展,示例代码:

#include "lwan.h"static lwan_http_status_thello_world(lwan_request_t *request,
            lwan_response_t *response, void *data){
    static const char message[] = "Hello, World!";

    response->mime_type = "text/plain";
    strbuf_set_static(response->buffer, message, sizeof(message) - 1);

    return HTTP_OK;}intmain(void){
    const lwan_url_map_t default_map[] = {
        { .prefix = "/", .callback = hello_world },
        { .prefix = NULL }
    };
    lwan_t l;

    lwan_init(&l);
    lwan_set_url_map(&l, default_map);
    lwan_main_loop(&l);
    lwan_shutdown(&l);

    return 0;}

    
 
 

您可能感兴趣的文章:

  • 请推荐一下搭建高性能服务器框架的书籍或者资料
  • 高性能的http服务器 luahttpd
  • 高性能的STUN服务器 STUNMAN
  • 高性能Web服务器 Lighttpd
  • 高性能图片服务器 NImg
  • 实战Nginx:取代Apache的高性能Web服务器
  • 高性能Web服务器 Cherokee
  • 高性能Web服务器 Nginx
  • 高性能web/反向代理服务器 kangle
  • 高性能的PHP socket 服务器框架 workerman
  • 高性能web服务器框架Tornado简单实现restful接口及开发实例
  • 高性能异步网络服务框架 libgod
  • 高性能远程对象服务引擎 Hprose
  • 高性能网络服务程序架构的一点困惑(请高手多提点意见)
  • 高性能远程对象服务引擎 Hprose for PHP
  • 高性能远程对象服务引擎 Hprose for JavaScript
  • 高性能远程对象服务引擎 Hprose for Java
  • 高性能远程对象服务引擎 Hprose for HTML5
  • 高性能远程对象服务引擎 Hprose for Node.js
  • 内核还是用户空间?高性能网络服务程序开发
  • 高性能远程对象服务引擎 Hprose for PHP-CPP
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高性能分布式哈希表FastDHT介绍及安装配置
  • 高性能c++日志库 Easylogging++
  • 高性能计算软件工具包 DAKOTA
  • 高性能PHP框架 Phalcon
  • 高性能 HBase 客户端 Asynchronous HBase
  • 高性能List结构 MySKL
  • 高性能Linux内核 LinuxDNA
  • 高性能node.js开发框架 rrestjs
  • 高性能Java网络框架 MINA
  • Java的开源高性能memcached客户端 XMemcached
  • 高性能多核 BLAS 库 OpenBLAS
  • OpenCL中的高性能计算库 libcl
  • MySQL 高性能存储引擎 TokuDB
  • 高性能应用开发框架 POP-C++
  • 高性能计算项目 Globus Toolkit
  • Java高性能集合类 ConcurrentLinkedHashMap
  • 高性能web代理程序 hyk-proxy
  • 高性能RPC框架 nfs-rpc
  • 高性能的Java 3D引擎 Xith3D
  • 高性能mmorpg开发包 YYMysqlSDK
  • 高性能JSON库 commons.json


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3