Apache、Nginx、Mongoose 靜態頁面性能對比

 繼使用,簡單驗證其性能。windows

    比對對象:Apache、Nginx與Mongoose;服務器

    比對方法:訪問簡單靜態頁面;socket

    比對結果:用圖表說話以下:mongoose

    比對結論:Mongoose不適合做爲高性能服務器ide

   關於性能不優的緣由,在Mongoose的源碼也略有一斑:函數

    源碼:http://code.google.com/p/mongoose/source/browse/mongoose.c性能

   一、其中包含不少對Windows的兼容;this

    二、更關鍵的是master_thread函數,使用的select方法而非epoll:google

if (select(max_fd+1,&read_set,NULL,NULL,&tv) <0) {
#ifdef _WIN32
            /*
             * On windows, if read_set and write_set are empty,
             * select() returns "Invalid parameter" error
             * (at least on my Windows XP Pro). So in this case,
             * we sleep here.
             */
            sleep(1);
#endif /* _WIN32 */
        }else{
            for (sp =ctx->listening_sockets;
                    sp !=NULL; sp = sp->next)
                if (FD_ISSET(sp->sock,&read_set))
                    accept_new_connection(sp,ctx);
        }spa

相關文章
相關標籤/搜索