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>