Re: balsa no-thread crash detected



On Thu, 23 August 23:50 Timothy Alan Chandler wrote:
> On 2001.08.23 20:37 Brian Stafford wrote:
> 
> > In short, the problem is not SMTP, it is your experience of poor client
> > implementations (and there are many).  Qmail supports PIPELINING so it
> > should interoperate efficiently with libESMTP.
> 
> Is SMTP via libESMTP more efficient that QMQP?

It probably makes a few more round trips on small messages.  On large
messages the difference will be less significant.  I doubt that a small
extra number of round trips makes that much of a difference.

An advantage of SMTP over QMQP is that it can transfer more than one
message in a single session.  QMQP drops the connection after transferring
and must create a new connection to the server for each message. Setting
up TCP connections takes time.

Actually one other area where many SMTP cleints are lame is transferring
the message content in the DATA command.  They will read the messsage one
line at a time and write() each line as a packet to the network. (I've even
seen one implementation which calls write() to send the line, another
write(sd, "\r\n", 2) to send the line termination and optionally a third
write of a single period to do the SMTP dot stuffing!)  The write per
line approach is grossly inefficient.

Messages with more than one recipient benefit from PIPELINING since all the
recipients are transferred to the server in a single network packet.
This also tends to batch any DNS operations at the server while it verifys
recipient domains or mailboxes.

libESMTP writes in about 2kb blocks.  If I increase that to about the TCP
window size (usually 4k) I'd probably get a small extra improvement again.

I'd content that SMTP using libESMTP is comparable with QMQP.  If it isn't
I want to know why so I can fix it.  After all the only real difference is
that since the QMQP data format is a netstring, it naturally encourages
implementors to provide a buffer for the socket.  Everything else is done
over the same TCP sockets.

> > I'd suggest trying out libESMTP enabled balsa with qmail before
> > dismissing it based on experience of other SMTP clients.
> 
> I haven't dismissed anything.  I use libESMTP enabled balsa quite often, I
> just don't want to use it all the time and there is no reason I should have
> to.

If libESMTP in balsa works for you why use another configuration to achieve
the same thing?  I don't understand.  Is Balsa+libESMTP less efficient than
Balsa+qmail's sendmail?  Or are you saying that you don't want to use libESMTP
because measurements on other SMTP clients showed poor performance wrt QMQP?
Your previous message implies you can't adopt libESMTP because the SMTP
reputation is already tarnished by your previous measurements.

Brian Stafford




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