pan-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pan-users] Re: Re: Too many connections error


From: Duncan
Subject: [Pan-users] Re: Re: Too many connections error
Date: Fri, 07 Apr 2006 08:32:15 -0700
User-agent: Pan/0.14.2.91 (As She Crawled Across the Table)

Steven Adeff posted
<address@hidden>, excerpted
below,  on Fri, 07 Apr 2006 08:13:21 -0400:

> wait, my news server lets me make 8 connections, so will Pan only make 4
> connections even if I tell it to make more?

One of PAN's prime features (and thus a big no-no for change, as far as
Charles is concerned, and I agree) has been that it's 100% GNKSA
compliant.  One of the GNKSA points is that multiple connections be
possible, but that the newsreader not abuse them or the server.  As
defined in GNKSA (and it's a generally observed standard elsewhere as
well, so GNKSA is in good company), that means limiting to no more than
four connections, to prevent possibly DOSing the server.

That said, Charles has on several occasions pointed out the file and
function in the source where the 4 connection hard limit is set, and
suggested that individual users can change the appropriate line and
recompile, if desired.  That's what the GPL is all about -- giving the
users that right, and PAN wouldn't be GPL if its developers didn't believe
in it.

Alternatively, one can always set up two separate logical servers within
PAN, just pointing them at the same remote news server.  Pre 0.9x, that
meant separately scheduling downloads on each server, but if I'm reading
the 0.9x features correctly, that's no longer necessary.  Simply setup the
two multiple logical servers within PAN, configure one of them for the
mod-4 connections and the others for 4 connections each to get the allowed
number of connections, and you should be set.

> Also, how "smart" is Pan in this regard. Say I'm downloading some
> binaries and decide I want to peruse another group. If I elect to
> download headers what will 0.9x do, wait for the binaries to finish or
> use a connection percentage to download the headers?

"Headers" (really overviews, a subset of headers) normally take one
connection per server.  (Of course, if you have multiple logical servers
setup...)  Often, on servers capping connection speeds (keep in mind that
more than two connections on servers /not/ capping per connection speed
is likely counterproductive, as the computer resources required to track
the extra connections aren't free, and neither is context switching
between all those connection threads), overview downloads won't be capped
as a message download would be. Thus, one connection will often fill the
bandwidth of several, for overview downloads.

More directly answering your question, PAN's decently smart, even in
0.14.x.  It won't interfere with individual message segment downloading,
but (from memory, I haven't used the feature in awhile as I use klibido
for binaries now, as I mentioned) it queues new tasks at the top (unless
you tell it not to, the save-as dialog allows the choice of top or bottom,
for instance), so they get processed at the soonest opportunity --
immediately after the first individual segment download completion.  In
any case, there's the task manager available.  If you don't like the queue
ordering, open that and switch it.

Note that "a connection percentage" distorts the picture.  A single
connection can be doing only one thing at once.  As tasks reach the top of
the queue, the first free connection picks them off.  Thus, downloading
overviews, which occurs in a single connection, will get picked off and
executed in one piece.  It's possible, however, to queue up a multipart
task, put it at the top of the queue, and have all threads switch to it
until either the number of parts is exhausted or the number of threads is
reached and all of them are working on that task.  It's not possible to
dedicate a specific percentage of a connection or of connections to a
task, other than by controlling the number of individual parts within that
task.  (Again, using multiple logical servers changes this.  If you want
75% of your connections working on one thing and 25% on another, and the
real server supports 4 connections, set up one logical server with one
connection and another with three, and there you go!  Of course, with 8
possible connections, you'd set up one with four, and two with two, then
use the 4 and one of the 2 for the 75%, and the other 2 for the 25%.)

Again, I'm waiting a bit before I try 0.9x, so I can't answer
specifically for it.  Barring bugs and possibly incompletely implemented
features, the same general process should apply, however, with the
exception being that 0.9x can automate more of the multi-server
handling, as it's the logical approach.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman in
http://www.linuxdevcenter.com/pub/a/linux/2004/12/22/rms_interview.html






reply via email to

[Prev in Thread] Current Thread [Next in Thread]