LSTSRV-L Archives

LISTSERV Site Administrators' Forum

LSTSRV-L

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Eric Thomas <[log in to unmask]>
Sun, 7 Feb 1993 21:10:47 +0100
text/plain (67 lines)
I made a few more changes to  the code to further improve the performance
of small jobs, and  I also found a list with 8543  recipients which I was
authorized to review,  so I now have  figures for very large  lists. As I
expected, the performance boost exceeds 20 with a list of that size. Here
are the new figures:
 
+-----------------+--------------+---------------+----------+
|    Job type     | Ratio (TCPU) | Absolute TCPU | Formerly |
+-----------------+--------------+---------------+----------+
| Small/relayed   |     3.27     | 0.658 & 0.201 |  0.274   |
| Small/generated |     3.32     | 0.687 & 0.207 |  0.284   |
+-----------------+--------------+---------------+----------+
| Large/relayed   |     9.20     | 5.244 & 0.570 |  0.647   |
| Large/generated |     9.28     | 7.967 & 0.858 |  1.136   |
+-----------------+--------------+---------------+----------+
| Huge/relayed    |    40.39     | 230.2 &   5.7 |  No data |
| Huge/generated  |    22.62     | 312.1 &  13.8 |  No data |
+-----------------+--------------+---------------+----------+
 
The "huge" job has  17 times as many recipients as  the "large" one, with
70% of  recipients passed on to  other servers and 30%  delivered locally
via BSMTP. As you  can see the new code is about  linear, whereas the old
code quickly gets out of control. Anyway  if you run a list of that size,
you now have a real incentive to beta-test the new code :-)
 
When  ordering the  code from  me  you will  receive a  series of  UPD17F
shipment files *without  JCL*. They are to be CARD  LOADed manually. Once
this is  done you will  have both DISTRIBUTE  processors and the  old one
will remain active by default; the  new one will be available for testing
under the name DIST3. To run the new code in production you simply rename
LSVDIST2 EXEC to some other name  and copy LSVDIST3 EXEC to LSVDIST2 EXEC
(or just  rename it  if you  don't mind getting  errors from  DIST3). The
DIST3 command verb  is a temporary addition for testing  the new code and
will be removed in the final  1.7f shipment. The algorithms and protocols
are the  same, the only  thing which  has changed is  the implementation;
there  is no  reason to  rename the  command as  when the  old DISTRIBUTE
command was replaced with DIST2 many years ago.
 
When the old DISTRIBUTE is active, the output of SHOW DISTRIBUTE and SHOW
STATS are partly incorrect. This is because the two processors don't keep
their  statistics in  the same  place, and  I didn't  want to  waste time
dual-pathing  LSVSHOW, especially  as it  isn't very  easy to  figure out
which one is active (in fact if you make the DIST2 verb point to LSVDIST3
in STDCMD FILE both  will be active - the new code  for relayed jobs from
the network and the old code for internally generated ones).
 
There are  small differences in  format in the  jobs produced by  the two
processors. For  instance, the 'TO  user1 user2 user3...' syntax  is very
inefficient for large distributions as it  requires a very long string of
contiguous storage, so the new code  never generates it (it still accepts
it of course).  Some messages have changed, some  abnormal conditions are
handled differently,  and so on.  In other words, please  report anything
which looks  like a problem,  even if you're  not sure, but  don't report
something only because it isn't exactly like it used to be.
 
Finally, the information you get  when you specify DEBUG=YES has changed.
Having the actual recipients listed was a serious inconvenience for large
lists and left  little space for the hostname part  of the address, which
is the  most important.  The new  format shows only  the host  names, and
duplicates  are  removed. When  there  is  only  one recipient  for  that
particular host, 'single recipient' is shown in the last column. This may
or may not modify the routing  decision, but it would have been difficult
to change the code to display  this message only when it actually impacts
the routing.
 
  Eric

ATOM RSS1 RSS2