Lwan高性能 Web 服务器
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;}
评论
中国服务器操作系统行业市场研究报告
本文来源于“沙利文:2023年中国服务器操作系统行业市场研究报告”。得益于新基建快速推进、政策引导下信创产业的蓬勃发展,国产服务器操作系统正逐步崛起。中国基础软件根技术自主掌控能力重视程度不断提高,越来越多的中国企业已经意识到其重要性,正在以更加积极拥抱的态度面对服务器操作系统领域的国产化替代趋势。
架构师技术联盟
1806
多人同时导出 Excel 干崩服务器!
「万事开头难,视频号500粉直播需要你的助力!你的支持是我前进的动力!」前言业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操
JAVA乐园
1
Linux服务器大量log日志,如何正确看日志快速定位错误?
针对大量log日志快速定位错误地方动态查看日志tail -f catalina.ou从头打开日志文件cat catalina.ou可以使用 >nanjiangtest.txt 输出某个新日志去查看[root@yesky logs]# cat&n
Java专栏
10
改变AI服务器:互连芯片技术创新和突破
根据TrendForce的数据,AI服务器的出货量约为130,000台,占全球服务器总出货量的约1%。随着微软、Meta、百度和字节跳动等主要制造商相继推出基于生成式AI的产品和服务,订单量显著增加。预测显示,在ChatGPT等应用的持续需求推动下,从2023年到2027年,AI服务器市场预计将保持
架构师技术联盟
1865
高性能GPU服务器硬件拓扑与集群组网
01、术语与基础大模型训练一般都是用单机 8 卡 GPU 主机组成集群,机型包括 8*{A100,A800,H100,H800} 。下面一台典型 8*A100 GPU 的主机内硬件拓扑:| 典型 8 卡 A100 主机硬件拓扑本文来自“高性能GPU服务器硬件拓扑与集群组网”。本节将基于这张
架构师技术联盟
2554
AI服务器产业链及竞争格局分析
本文来自“人工智能点燃算力需求,AI服务器迎来机遇”,Open AI的大型语言生成模型ChatGPT火热,它能胜任刷高情商对话、生成代码、构思剧本和小说等多个场景,将人机对话推向新的高度。全球各大科技企业都在积极拥抱AIGC,不断推出相关技术、平台和应用。1、AIGC火热,产业生态形成生成算法、预训
架构师技术联盟
3613
一次服务器被入侵的处理过程分享
下文中的,给文件和目录加锁,是指给文件和目录增加了一些属性,只读等。 chattr +ia目录一、服务器入侵现象二、服务器排查和处理2.1、服务器被入侵的可能原因2.2、排查和处理步骤三、本次入侵需要带来启示的点...
马哥Linux运维
0
Caffeine Cache-高性能Java本地缓存之王
前面刚说到Guava Cache,他的优点是封装了get,put操作;提供线程安全的缓存操作;提供过期策略;提供回收策略;缓存监控。当缓存的数据超过最大值时,使用LRU算法替换。这一篇我们将要谈到一个新的本地缓存框架:Ca...
浪尖聊大数据
0