Re: [Q] qmail speed again

1999-04-13 Thread Marc Slemko

On Tue, 13 Apr 1999, Dave Sill wrote:

  qmail will always be faster than sendmail [unless you send one message
  to a large number of addresses on the same remote host].
  
  No, qmail will usually win here, too, because sendmail serializes.
  Sendmail only wins when the message is huge.
 
 Actually, if you are unfortunate enough to have a list of addresses sorted
 by the right side of the @, qmail can be a big loser here.  This is
 because it will completely overload many remote hosts if there are a bunch
 of recipients.  eg. concurrencyremote = 120, you have 200 users
 @somedomain, qmail will sit there with 120 connections to somedomain's
 mailserver open while they all crawl along because somedomain can't handle
 120 connections at once.
 
 somedomain is poorly configured. Should qmail assume all sites are
 poorly configured? Should properly configured sites suffer because
 some sites are poorly run?

Geesh, this sort of crazy idealism is why qmail gets a bad name.

Please tell me how I can configure qmail so that it isn't "poorly
configured".  Please give me an example of how to set it up so that a
remote site can open as many connections as it wants (which you think it
should be able to do) without monopolizing the system.

On top of that, you are still completely ignore the fact that hammering
each remote host as hard as possible, in turn, results in taking a lot
longer to deliver all the mail than if you nicely avoid hammering each
host.  Part of this is due to qmail's silly 256 concurrencyremote limit,
which makes connections from the sender a very valuable commodity when
trying to send a lot of mail.

[...]

 I don't know?  Why does "qmail" accept connections that it cannot handle?
 
 Mine doesn't. I restrict it via tcpserver to an acceptable,
 conservative number of connections that, in my experience, the system
 will be able to handle in most foreseeable circumstances.

Then do you really think it is appropriate for one remote system to
monopolize your mailer for no reason?  I consider that abusive.  You can
go on about "oh, there is really no way to know what you can do so you
just have to try to blast as much as you can" but that ignores the basic
principles that have worked behind all internet services for a heck of a
long time: just because you _can_ do something, doesn't mean you should do
it if it isn't a friendly thing to do.

 This is great in theory.  In practice, does your tcpserver setup
 automatically start refusing connections when you're low on queue space or
 when you know the load will be too high?  I bet it doesn't.
 
 No, but my tcpserver connection limit is sufficiently conservative
 that it can almost always handle a full compliment of SMTP clients. If 
 it can't, so what? Chances are, a few too many SMTP connections when
 the system is hosed are the least of my worries.

"if I can't accept any mail from any other systems because one system
decided to flood me with a huge amount just beacuse it thought it would be
cool to schedule deliveries that way, then it isn't a big deal"

Erm... I don't think that way.

[...]

  You may have a point here. Is there a well-defined rubric within which
  we can assert, "It is ill-mannered to consume all available
  connections to a remote server, just because those services are
  needed?" Could be, I suppose--that's a question for admins.
 
 The point is that, in a lot of cases, they aren't needed.
 
 If you have 50 messages to go out with 100 messages to each of 5000
 hosts, the claim that it is necessary to open 100 connections at once to
 any single remote server is obviously wrong.
 
 The claim that qmail forces you to do that is also obviously wrong. IF 
 you don't want that to happen, don't sort your list by MX.

My claim is that qmail's behaviour ranges from extremely unfriendly to
abusive.  It is easy to end up with addresses sorted by hostname for a
variety of reasons.  It is a flaw in qmail that, if the address list is
sorted in such a way, it takes ~twice as long, in my experience, to send
out a large quantity of mail.

 Heck, even if you had 50 messages to go to 1 host that doesn't mean
 you have to open 50 connections (well, bounded only by your local
 configuration and qmail's limits) to the remote host. 
 
 Of course not. What's your point? 256 is  50. If I've got 50
 different messages to deliver to a single site, I sure as hell want to
 use as many simultaneous connections as I can. I assume the receiving

You just said that, if qmail didn't have an arbitrary 256 simultaneous
connection limit and if your machine could handle it, then you consider it
perfectly acceptable to try to open 50 simultaneous connections.  

 site will behave responsibly and only accept as many as it can handle.
 If the don't, that's their problem.

That sums up the problems with your attitude quite nicely, and the
problems with far too many "qmail idealists" that are more concernend
about proclaiming qmail to be the 

Re: [Q] qmail speed again

1999-04-12 Thread Marc Slemko

On Mon, 12 Apr 1999, Dave Sill wrote:

 "Fred Lindberg" [EMAIL PROTECTED] wrote:
 
 qmail will always be faster than sendmail [unless you send one message
 to a large number of addresses on the same remote host].
 
 No, qmail will usually win here, too, because sendmail serializes.
 Sendmail only wins when the message is huge.

Actually, if you are unfortunate enough to have a list of addresses sorted
by the right side of the @, qmail can be a big loser here.  This is
because it will completely overload many remote hosts if there are a bunch
of recipients.  eg. concurrencyremote = 120, you have 200 users
@somedomain, qmail will sit there with 120 connections to somedomain's
mailserver open while they all crawl along because somedomain can't handle
120 connections at once.

qmail is great that way at inflicting remote DoS attacks against other
mailers.



Re: [Q] qmail speed again

1999-04-12 Thread Marc Slemko

On Mon, 12 Apr 1999, Keith Burdis wrote:

  qmail is great that way at inflicting remote DoS attacks against other
  mailers.
 
 Well, the obvious question is why do mailers accept connections that they
 cannot handle? If the remote host accepts the mail it should be prepared to
 deal with it.

blah blah blah.

I don't know?  Why does "qmail" accept connections that it cannot handle?

It is a pretty simple concept: even if a mailer can "handle" it, if you
send 1 simultaneous bit of mail to 1 machine, while using all your other
slots for sending to other machines, you will get x% of each machine's
resources.  If you send 120 simultaneous messages, then you only get y% of
the machine's resources, where y is between a little (eg. if the machine
normally has 1 incoming connections) to a huge amount (eg. if the
machine normally has 2 incoming connections) less than x.

Because of somewhat nonsensical hard coded limits, when sending a lot of
outbound mail with qmail, the number of simultaneous connections open
total often is a big limitation.  Because of that, the fastest way to send
mail is to ensure you aren't overloading any remote machine more than
necessary at any given time, so that each connection to that machine takes
the least time possible, even if that involves more seialization.

Trying to blame the remote mailer for qmail's less than great behaviour in
this area is silly.



Re: [Q] qmail speed again

1999-04-12 Thread Marc Slemko

On Mon, 12 Apr 1999, Timothy L. Mayo wrote:

 Only if they are silly enough to accept more connections than they can
 handle. :)  One of the things a sys admin is "supposed" to do is tune his
 machines for performance.  If you cannot limit the number of connections
 you will accept to something your system can handle, you need to re-think
 your setup.

Erm... you just described a classic DoS attack.  You put a limit of x
connections in.  One remote system uses all or nearly all of them.  No one
else can connect.  You can hack whatever sorts of other "oh, limit one
remote IP to only so many, do this, do that" hacks on top of that you
want, and some of them are actually quite useful, but it doesn't change
the fact that the root problem is qmail's rudeness in this area.

As someone using qmail (for various reasons...), I can't control every
other system in the world, and even if I could, simple math still says
that a remote machine only has so many resources so trying to make it do
too many things at once is counterproductive and just eats up time in
qmail-remotes, which is a limited resource in qmail.



Re: tcpserver problems

1999-03-06 Thread Marc Slemko

On Sat, 6 Mar 1999, Adam D. McKenna wrote:

 I'm getting the following error when trying to compile ucspi-tcp-0.84 on a Sun
 Solaris 2.6 (sparc) box:
 
 bash-2.02$ make
 ./compile tcpclient.c
 In file included from tcpclient.c:2:
 /usr/local/lib/gcc-lib/sparc-sun-solaris2.4/2.7.1/include/sys/param.h:185:
 warning: `NBBY' redefined
 /usr/include/sys/select.h:45: warning: this is the location of the previous
 definition
 In file included from /usr/include/sys/stream.h:26,
  from /usr/include/netinet/in.h:38,
  from tcpclient.c:4:
 /usr/include/sys/model.h:32: #error "No DATAMODEL_NATIVE specified"

You are using Solaris 2.6.  You are using a gcc for Solaris 2.4.
That doesn't work.

Once you fix that, this problem will go away.