From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,7d747ac241d5a3d8 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!192.87.166.28.MISMATCH!tudelft.nl!txtfeed1.tudelft.nl!feeder.news-service.com!85.214.198.2.MISMATCH!eternal-september.org!feeder.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Performance techniques used in AWS Date: Tue, 14 Jun 2011 11:40:15 +0100 Organization: A noiseless patient Spider Message-ID: References: <4df5a4bc$0$2120$742ec2ed@news.sonic.net> <4DF63AAC.5050708@obry.net> <4df6ee43$0$2131$742ec2ed@news.sonic.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: mx04.eternal-september.org; posting-host="dFCm8HWntFqmDIilBLqEJQ"; logging-data="15987"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/0LpHKXBhB/7JYtGWt+PerZVGeVIMG83c=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (darwin) Cancel-Lock: sha1:10vkzDxxAbIJOfQ6flRQHz57MAA= sha1:DGNlgElfoqNhrZzPnlO70T6vJk8= Xref: g2news2.google.com comp.lang.ada:20786 Date: 2011-06-14T11:40:15+01:00 List-Id: "R. Tyler Croy" writes: > What I'm trying to work out in my head is how to build an application > (in Ada) that can compete[0] effectively with a libev-based program > written in C. The advantage that libev brings to the table is that > this program (in C) can very easily handle and respond to tens of > thousands of concurrent connections. > > Unlike AWS or most web servers however, these connections are not > HTTP- based and do not follow the traditional Request->Response->Close > pattern of most of the HTTP world, but rather sockets are held open > for minutes even hours at a time. Nowadays most HTTP connections are persistent, either because of HTTP/1.0's "Connection: Keep-Alive" or the absence of the newer "Connection: close". I guess the performance will depend heavily on select(2) vs poll(2) or epoll.