Date: Sun, 2 Dec 2001 21:53:59 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: "Anjali Kulkarni" <anjali@indranetworks.com> Cc: <freebsd-hackers@FreeBSD.ORG> Subject: Re: TCP graph Message-ID: <200112030553.fB35rxg95155@apollo.backplane.com> References: <003901c17bba$210e66d0$0a00a8c0@indranet>
next in thread | previous in thread | raw e-mail | index | archive | help
:Hello,
:
:On the subject of tcp performance graphs, I have taken a few tcpdumps of =
:some pages, to understand the entire process in more minute detail, and =
:to co-relate the theory with the graphs in practice. I have plotted a =
:graph of cumulative data received at the client side vs. time required =
:to fetch it, and I find that for the data received by client, the first =
:2 packets arrive within a time of 0.212 sec. of each other, whereas the =
:3rd. packet takes another 0.5 secs. Thereafter, all packets take 0.212 =
:sec.(relative to the previous packet) Is this the slow start algorithm I =
:am observing(The 0.5 sec. difference)?
:I have attached the graph here, if anybody wants to take a look... The =
:first 2 points are there for SYN &SYN-ACK.
:
:Thanks,
:Anjali
Well, I'm guessing that you have not turned on TCP_NODELAY for the
connection, so writes will be buffered for approximately that long
(at least at connection startup) before being pushed out. This
is a feature that allows TCP to combine small writes together into
a single packet before sending it over the network.
Programs which want their write()s to a socket to be pushed out
immediately have to set the TCP_NODELAY socket option on the socket.
Like this:
#include <netinet/tcp.h>
...
int on = 1;
setsockopt(socket_fd, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(int));
TCP_NODELAY is different from delayed-acks. Delayed acks are controlled
via a sysctl and typically should be left enabled.
:Content-Type: application/vnd.ms-excel;
: name="tcp_algo.xls"
:...
Unfortunately I can't process '.xls' files... sounds like a MS Windows
thing. I recommend posting a URL that points to a web page containing
the graph as a graphic instead of posting the whole graph to the list
( which generates an unnecssary load on the list server ).
-Matt
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112030553.fB35rxg95155>
