[news.software.nntp] nntpsend performance poor?

lamy@ai.utoronto.ca (Jean-Francois Lamy) (06/20/89)

Hope I'm dead wrong, but...

As a quick experiment, I tried running nntpsend everytime our relaynews exits
(i.e every time a batch of articles get added to the newsspool).  I was
appalled at the (real) time nntpxmit took, and reverted to our old fashioned
"every half-hour" method. We run nntp.1.5.5.C (the C news patches don't affect
transmission).

The figures below are in seconds/article, and are calculated by dividing
the total elapsed time by either the number of offered or accepted article
(separate elapsed time totals are unavailable)

utstat (accross our campus ethernet, downstream feed -- they take
       everything we offer, so this includes actual transmission of articles)
	one article accepted every .947573 seconds
		    offered	   .947573
rutgers (upstream - they refuse 90% of what we offer)
	one article accepted every 10.2006 seconds
		    offered        2.67615
mailrus (upstream - they also refuse about 90%)
	one article accepted every 14.7182 seconds
		    offered        1.5346

The figures are to be interpreted as follows:

   if we offer 30 articles to rutgers, on average we will transmit only 3
   and it will have taken about 80 seconds real-time.

I find this quite surprising, as packet round trip times to mailrus and
rutgers are about 200ms, and transmitting 30 articles at 8K each (which is way
above average) would take about that time (85 seconds for a 240K file when I
checked).

I'm curious to see what other sites are seeing in terms of performance, and
whether streaming NNTP would help for sites like ours...  The script I used to
parse the nntpsend logs is included below.

Jean-Francois Lamy               lamy@ai.utoronto.ca, uunet!ai.utoronto.ca!lamy
AI Group, Department of Computer Science, University of Toronto, Canada M5S 1A4
-------------------------------------------------------------------------------
#!/bin/sh
# nntpstats sitename
# adjust first line for location of your logs...
grep $1 /news/log/nntpsend.log /news/log/OldLogs/nntpsend.log.* |
awk '/offered/{off=$4;totoff=totoff+$4;
    	       acc=$4;totacc=totacc+$6;}
     /elapsed/{ela=$9;totela=totela+$9;}
     END      {print "elapsed/accepted",totela/totacc,"elapsed/offered", totela/totoff}'