1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Lwan高性能 Web 服務(wù)器

        聯(lián)合創(chuàng)作 · 2023-10-01 14:16

        Lwan 是一個高性能和可伸縮的 Web 服務(wù)器軟件,支持 glibc/Linux 平臺。

        Lwan 開發(fā)了將近 3 年時間,目前還是個人研究的成果。主要是為了構(gòu)建一個堅固、輕量級高性能的 Web 服務(wù)器。

        特點(diǎn):

        • 占用內(nèi)存低 (1萬個空閑連接只占用 ~500KiB)

        • 最小化的內(nèi)存分配和拷貝

        • 最小化的系統(tǒng)調(diào)用

        • 精確的 HTTP 請求解析

        • 使用最高效的方法來處理文件服務(wù)

          • 大于 16k 的文件不需要進(jìn)行核心和用戶層的拷貝

          • 更小的文件使用內(nèi)存映射緩沖向量 I/O 發(fā)送

          • 處理壓縮小文件時考慮Header 開銷

        • 大多數(shù)無等待、多線程設(shè)計

        • 核心代碼只有 7200 行左右

        性能:

        在一臺使用 i7 處理器的筆記本上可以達(dá)到每秒 32 萬無磁盤訪問的 HTTP 請求。當(dāng)訪問磁盤,測試文件在 16Kb 時可達(dá)到每秒 29 萬個請求;而更大的文件可到每秒 18.5 萬請求。以上測試使用 keep-alive 連接,如果不使用 keep-alive 這個數(shù)字可能降低 6 倍左右。

        下圖是不同并發(fā)連接數(shù)測試的每秒請求數(shù):

        其中綠線是使用如下示例代碼的 Hello world 擴(kuò)展應(yīng)用,棕色線是 100 字節(jié)的文件。

        此外 Lwan 也提供 API 擴(kuò)展,示例代碼:

        #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;}
        瀏覽 39
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            早川濑里奈~极囗交饮精天国 | 国产玖玖精品视频 | 91一区二区三区四区 | 人与禽120分钟做受网站 | 成人做爰免费A片视频二机片 | 国产精品视频免费 | 男人添女人下面全程高潮黄黄 | 美女操逼在线看 | 中文字幕一区二区三区AⅤ吉川 | 日韩va靠逼 |