Man Linux: Main Page and Category List


       rabid - program to test POP server throughput.


       rabid [-r max-connections-per-minute] [-p processes] [-l local-address]
       [-c   messages-per-connection]    [-a]    [-s    ssl-percentage]    [-i
       imap-percentage]             [-b             qmail-pop]             [-d
       download-percentage[:delete-percentage]]   [-[z|Z]   debug-file]   [-u]
       pop-server user-list-filename


       This manual page documents briefly the rabid, program.

       It  is designed to test the performance of POP email servers by reading
       all messages from randomly selected accounts as fast  as  possible.   A
       future  version  will  support rate limiting to provide a constant load
       (for testing SMTP servers).

       The pop-server parameter specifies the IP address or name of  the  mail
       server  that  the mail is to downloaded from.  If you want to specify a
       port other than port 110  then  enclose  the  host  address  in  square
       brackets  and have the port address immidiately following.  If you want
       a DNS lookup for every connection (for testing  round-robin  DNS)  then
       immediately preceed the host address with a ’+’ character.

       The  user-list-filename  is the name of a file which contains a list of
       user’s email addresses and passwords.  It will  have  one  address  per
       line and the password follows the address with a space to seperate.

       The  processes  parameter  is  the  number  of processes that should be
       forked off to attempt seperate connections.   A  well  configured  mail
       server won’t accept an unlimited number of connections so make sure you
       don’t specify a number larger than  the  number  your  mail  server  is
       configured  to  handle.   Also  for sensible results make sure that you
       don’t use enough to make your server thrash as  the  results  won’t  be
       representative of real-world use.

       The  max-connections-per-minute parameter is for limiting the number of
       connections that the program makes.  This is designed to be  used  when
       you  want  to test the performance of other programs when the system is
       under load.  The default is 24000 connections per minute.

       The messages-per-connection parameter specifies the maximum  number  of
       messages  to  download  in  a  single  POP  session.  The default is -1

       The local-address parameter specifies which local  IP  address(es)  are
       used  to  make  the outbound connections.  Specified in the same way as
       the remote address.  This is good for testing LocalDirectors  or  other
       devices  that  perform differently depending on which source IP address
       was used.

       The -a command turns on all logging.  All message data received will be
       logged.   This  will  make it slow and it may not be able to saturate a
       fast Ethernet link...

       The -s switch specifies the percentage of connections which are to  use
       TLS AKA SSL.  Use 0 for no SSL, or 100 for always SSL, or any number in
       between.  Default is 0.

       The -i switch specifies the percentage of IMAP connections (default  is

       The  -b  switch  allows you to specify breakage strings.  Currently the
       only option is for Qmail POP server which adds an extra blank  line  at
       the  end  of each message.  -b qmail-pop means to not report this as an

       -d download-percentage[:delete-percentage] allows you to  specify  what
       percentage  of  the  messages are downloaded and what percentage of the
       downloaded messages are deleted.  Default is 100%.

       The -u switch causes the domain of  user-names  to  be  ignored.   This
       allows  you  to  have a single file with user-names and passwords which
       can be used by postal and rabid.  By default  postal  will  ignore  the
       password  field,  rabid may or may not need the domain depending on the
       configuration of the POP server.  The default  is  to  use  the  domain
       (which  is  required  if the same user is present in multiple domains),
       this switch causes the domain part to be stripped  from  the  user-name

       The  -z  switch allows you to specify a debugging file base.  From this
       base one file is created for each thread (with a  ’:’  and  the  thread
       number  appended),  each  file  is used to log all IO performed by that
       thread for debugging purposes.

       The -Z switch is  the  same  but  creates  a  separate  file  for  each
       connection  as  well  with  an  attitional ’:’ appended followed by the
       connection number.


       Doesn’t actually do SSL or IMAP yet.


       0      No Error

       1      Bad Parameters

       2      System Error, lack of memory or some other resource


       This program, it’s manual page, and the Debian package were written  by
       Russell Coker <>.


       The source is available from .

       See     for     further