Re: [hybi] Background info: Properties of sendfile()

Maciej Stachowiak <mjs@apple.com> Fri, 06 August 2010 09:08 UTC

Return-Path: <mjs@apple.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D21D83A6A01 for <hybi@core3.amsl.com>; Fri, 6 Aug 2010 02:08:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.53
X-Spam-Level:
X-Spam-Status: No, score=-106.53 tagged_above=-999 required=5 tests=[AWL=0.069, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wNSa8ivX1UvC for <hybi@core3.amsl.com>; Fri, 6 Aug 2010 02:07:59 -0700 (PDT)
Received: from mail-out3.apple.com (mail-out.apple.com [17.254.13.22]) by core3.amsl.com (Postfix) with ESMTP id E68AA3A68CB for <hybi@ietf.org>; Fri, 6 Aug 2010 02:07:58 -0700 (PDT)
Received: from relay13.apple.com (relay13.apple.com [17.128.113.29]) by mail-out3.apple.com (Postfix) with ESMTP id 0972DA1CB38A for <hybi@ietf.org>; Fri, 6 Aug 2010 02:08:30 -0700 (PDT)
X-AuditID: 1180711d-b7c37ae0000027a8-9f-4c5bd10d7258
Received: from elliott.apple.com (elliott.apple.com [17.151.62.13]) by relay13.apple.com (Apple SCV relay) with SMTP id 0A.C1.10152.D01DB5C4; Fri, 6 Aug 2010 02:08:29 -0700 (PDT)
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: text/plain; charset="us-ascii"
Received: from [17.151.100.119] by elliott.apple.com (Sun Java(tm) System Messaging Server 6.3-7.04 (built Sep 26 2008; 32bit)) with ESMTPSA id <0L6Q00MNU425TI20@elliott.apple.com> for hybi@ietf.org; Fri, 06 Aug 2010 02:08:29 -0700 (PDT)
From: Maciej Stachowiak <mjs@apple.com>
In-reply-to: <20100806062928.GF20057@1wt.eu>
Date: Fri, 06 Aug 2010 02:08:28 -0700
Message-id: <4A6B1B75-584C-44C6-B69A-F11AE0B59896@apple.com>
References: <4C5B1695.6070704@gmx.de> <F8E2F702-9F74-4316-B3B2-D5A731409ABF@apple.com> <4C5B2029.90403@gmx.de> <AANLkTim1WeCRfcPxXUNQcVhb4+t_TtDQDv2bXaxOQ=bk@mail.gmail.com> <01098AD0-FBF4-4A61-B565-947C95722BAA@apple.com> <AANLkTi=qQSND5BvUP5+P=wJ7E8SG6NncGZH8U8+VYwZ0@mail.gmail.com> <20100806004907.GF27827@shareable.org> <C0FC87B7-C51C-4B36-BC16-DBDB0B00A20F@gbiv.com> <20100806012845.GI27827@shareable.org> <AANLkTimuvuj87qwQi_1Gjg47-gGrCsDCQ5TDd5zvOw1N@mail.gmail.com> <20100806062928.GF20057@1wt.eu>
To: Willy Tarreau <w@1wt.eu>
X-Mailer: Apple Mail (2.1081)
X-Brightmail-Tracker: AAAAAQAAAZE=
Cc: "Roy T. Fielding" <fielding@gbiv.com>, "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Background info: Properties of sendfile()
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Aug 2010 09:08:01 -0000

On Aug 5, 2010, at 11:29 PM, Willy Tarreau wrote:

> On Thu, Aug 05, 2010 at 06:47:48PM -0700, Roberto Peon wrote:
>> Thus my statement of "theoretical" benefits.
>> I've not seen the benefits of either splice or sendfile yet.
> 
> At least I've seen it. Haproxy happily forwards traffic at 10 Gbps
> with only 25% of one CPU core on a 2.66 GHz Core2Duo using splice().
> And some file sharing sites make a big use of it ! Without splice,
> it hardly achieves 10 Gbps at 100% CPU.
> 
> Anyway, it's unclear to me why we would need to send large amounts
> of data over WebSockets. File serving could well be performed by
> the web server itself.

I already cited the use case of sync. It's likely that in a case like filesystem sync or media sync, large data objects will be sent in both directions, and it will likely be advantageous to send them over WebSocket rather than using a separate HTTP exchange for each file transfer.

Regards,
Maciej