----- Original Message ----- > I don't know how you implemented it in traffic server, but in traffic server > we do a setsockopt on the listening socket and there is a configuration
We'd need a autoconf check for that option, I pressume… > option to add additional options. This part would need to change and > another configuration option should be added for the queue size. > > Happy to see TFO support being added. I have been wanting to play around > with TFO for awhile. > > -Bryan > > On Jan 23, 2014, at 8:22 AM, Ben <b...@meh.net.nz> wrote: > > > On Wed, Jan 22, 2014 at 10:18:45AM -0200, Alex Garz?o wrote: > >> Hello, > >> > >> Ticket: https://issues.apache.org/jira/browse/TS-2520. > >> > >> I am a newbie in ATS, but I would like to contribute. Can I implement > >> a patch to solve this? > > > > if you want to implement tcp fast open listening in traffic server, i've > > got a really hackish kludge to http_load to support tcp fast > > open, and it doesn't look as hard as it probably is in the main > > trafficserver. > > > > without tcp fast open: > > <ben@amethyst:/src/trafficserver-svn/tools/http_load> > > zsh/2 3093 (git)-[master]-% ./http_load -parallel 2 -fetches 50 > > /tmp/urlfile > > 50 fetches on 50 conns, 1 max parallel, 8850 bytes, in 0.66447 seconds > > 177 mean bytes/fetch > > 75.2479 fetches/sec, 13318.9 bytes/sec > > msecs/connect: 13.0597 mean, 16.855 max, 11.127 min > > msecs/first-response: 13.4596 mean, 17.641 max, 11.97 min > > HTTP response codes: > > code 200 -- 50 > > > > with tcp fast open: > > [Thu 14/01/23 20:15 NZDT][pts/40][x86_64/linux-gnu/3.13.0-rc7ice][5.0.5] > > <ben@amethyst:/src/trafficserver-svn/tools/http_load> > > zsh/2 3094 (git)-[master]-% ./http_load -parallel 2 -fetches 50 > > /tmp/urlfile > > 50 fetches on 50 conns, 1 max parallel, 8850 bytes, in 0.355519 seconds > > 177 mean bytes/fetch > > 140.639 fetches/sec, 24893.2 bytes/sec > > msecs/connect: 0.00864 mean, 0.018 max, 0.002 min > > msecs/first-response: 14.0743 mean, 15.28 max, 11.833 min > > HTTP response codes: > > code 200 -- 50 > > > > i don't really know how the parallel command is meant to work. and that's > > a near empty page and against lighttpd with my local modifications > > for tcp fast open listening. > > > > > > i dunno the best way to go about it, i'm forcing doublechecking code in > > handle_connect and moving all the connecting logic there, as that > > simplifies > > > > And basically doing: > > > > #ifdef TCP_FASTOPEN > > if (sendto (connections[cnum].conn_fd, urls[url_num].buf, > > urls[url_num].buf_bytes, MSG_FASTOPEN, (struct sockaddr *) > > &connections[cnum].sa, connections[cnum].sa_len) < 0) { > > #else > > if (connect(connections[cnum].conn_fd, (struct sockaddr *) > > &connections[cnum].sa, connections[cnum].sa_len) < 0) { > > #endif > > > > And then skipping the sending of that data later... > > > > Ben. > > -- Igor Galić Tel: +43 (0) 664 886 22 883 Mail: i.ga...@brainsware.org URL: http://brainsware.org/ GPG: 8716 7A9F 989B ABD5 100F 4008 F266 55D6 2998 1641