From owner-freebsd-questions@FreeBSD.ORG Tue Nov 13 11:43:39 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 49E447C for ; Tue, 13 Nov 2012 11:43:39 +0000 (UTC) (envelope-from m.e.sanliturk@gmail.com) Received: from mail-vb0-f54.google.com (mail-vb0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id DCB1E8FC08 for ; Tue, 13 Nov 2012 11:43:38 +0000 (UTC) Received: by mail-vb0-f54.google.com with SMTP id l1so9503919vba.13 for ; Tue, 13 Nov 2012 03:43:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=zYHTxV1Nhpqpiin3fkrDiPjNUjle2NbZnyIVvZCzacc=; b=QD2uxHKeDz3bdZr8ihepGidRvVomKrPc7q/e2zbSP6lxCtri0bnCMo8oZTMHW6zhti ViT1P6xx4joPBIMh+77Gpzk5hdnsKJc7jxIaoAn/vUhhLEGCLQ1/w6L8lT93K3Dd/eXh ykQGnWe8Du6A297Fk2nLLO8X2V2clGR3pHig153t6ilWByDCOZiPTQQBmB/mWB+fjKLP 1CP0rgAbxG9aLzowBPU5HZyTY8xOl9TKF4Y2ndpXNS1GRxGIyaFKvkvtZPqRGWvEdHM8 m2pjB7XrFv/XOYar2Tr9I1ORFc+RDAOi+2KbbVWTPtjBKQ4umNR2f/MnH6XSs7oylh4l 2XPQ== MIME-Version: 1.0 Received: by 10.220.156.77 with SMTP id v13mr5144494vcw.62.1352807017371; Tue, 13 Nov 2012 03:43:37 -0800 (PST) Received: by 10.58.218.35 with HTTP; Tue, 13 Nov 2012 03:43:37 -0800 (PST) In-Reply-To: <5F6CAEED-10F2-447D-A8F7-3B47A1FC3536@exonetric.com> References: <73EA6F0E-0170-4738-80D0-F911AEE5E1CD@exonetric.com> <5F6CAEED-10F2-447D-A8F7-3B47A1FC3536@exonetric.com> Date: Tue, 13 Nov 2012 03:43:37 -0800 Message-ID: Subject: Re: high performance server design approach From: Mehmet Erol Sanliturk To: Mark Blackman Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: Fleuriot Damien , freebsd-questions@freebsd.org, Friedrich Locke X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Nov 2012 11:43:39 -0000 On Tue, Nov 13, 2012 at 3:08 AM, Mark Blackman wrote: > > On 13 Nov 2012, at 11:03, Friedrich Locke > wrote: > > > Mark, > > > > when i say high performance, i am looking something at least as fast as > the fastest performing http server on the market for a given set of > requests on the same pool of static files. > > > > I am aware og ngnix, but i have to write my own http server. Using > someone else solution is not an option. > > Ok, fair enough. It's a shame you're not in a position to use proven high > performance technology to minimise > your time-to-market, but I'll assume you've got a good reason to re-invent > the wheel. > > I think for design questions like that, freebsd-questions@ is not the > ideal list, but I suggest > either freebsd-hackers@ or freebsd-net@ or a more general purpose > networking list. > > Try > http://www.slideshare.net/joshzhu/tips-on-high-performance-server-programmingtoo. > > - Mark > > If there is NO any absolute requirement to write a new http server in a clean room approach , any existing related software with suitable license may be utilized to generate a new fork and make necessary additions with possible translation to another programming language . For example , http://en.wikipedia.org/wiki/Nginx ( BSD licensed ) is forked by http://www.zhuzhaoyuan.com/ as http://tengine.taobao.org/ . To find other suitable licensed http servers , the following page may be useful : http://en.wikipedia.org/wiki/Comparison_of_web_server_software http://en.wikipedia.org/wiki/Comparison_of_lightweight_web_servers http://en.wikipedia.org/wiki/Embedded_HTTP_server http://en.wikipedia.org/wiki/Category:Web_server_software http://en.wikipedia.org/wiki/Category:Free_web_server_software http://en.wikipedia.org/wiki/Category:Web_server_management_software http://en.wikipedia.org/wiki/Permissive_free_software_licence http://en.wikipedia.org/wiki/Comparison_of_free_software_licences http://en.wikipedia.org/wiki/Category:Free_and_open-source_software_licenses Please do NOT take the following sentences against your personality , they are only to remind you about problems : If you are not able to fork an existing http server software in your programming language ( the programming language you want to use ) and modify it with respect to your special needs , then it is very likely that you will not be able to write an equivalent software . If you attempt to create such a software , with the above condition , at the end , your gain will be amount of knowledge you gained , amount of time and resources ( money , time , etc. ) you lost . If you will use a different programming language and you do not know the programming languages used by suitable licensed http server software , then study development history of such http server software and get information about its difficulty , problems , cost , human effort requirements , etc. , . This will supply to you a clear road map for you development . Thank you very much . Mehmet Erol Sanliturk