Hi,

I have installed Cyrus 2.0.16 on Red Hat 7.2 with the standard SASL
cyrus-sasl-1.5.  I have been able to use it successfully and create perl web
administration tools for managing mailboxes.

I am currently doing a stress test, I need to be able to handle more than
100 thousand users on this server.  I modified Cyrus Imap code so it can
accept numeric accounts which I need as I am creating emails for a cellular
company ([EMAIL PROTECTED]).  I made a perl script to create 100000
accounts.  I am using ext3 filesystem under linux.  After the user number
31948 was created, no more accounts where created.  Examining the imapd.log,
I found that it was complaining about "too many links error", see below
extract from imapd.log:

Feb 24 22:45:54 mail imapd[22212]: abort_txn: aborting txn 2147683085
Feb 24 22:45:54 mail imapd[22212]: myfetch: starting txn 2147683086
Feb 24 22:45:54 mail imapd[22212]: myfetch: reusing txn 2147683086
Feb 24 22:45:54 mail imapd[22212]: mystore: reusing txn 2147683086
Feb 24 22:45:54 mail imapd[22212]: IOERROR: creating directory
/var/spool/imap/user/01000032123: Too many links

Any help is greatly appreciated.

It would be nice if we could split /var/spool/imap/user on several
partitions, is this possible ?  What options do I have ?

Following I will show several configurations files I am using:

/etc/imapd.conf -----------------------------
configdirectory: /var/imap
partition-default: /var/spool/imap
admins: cyrus root apache andres
sasl_pwcheck_method: sasldb
#sasl_auto_transition: yes
sendmail: /usr/sbin/sendmail
----------------------------------------------

/etc/cyrus.conf  -------------------------------------
# standard standalone server implementation

START {
  # do not delete these entries!
  mboxlist      cmd="ctl_mboxlist -r"
  deliver       cmd="ctl_deliver -r"

  # this is only necessary if using idled for IMAP IDLE
#  idled                cmd="idled"
}

# UNIX sockets start with a slash and are put into /var/imap/socket
SERVICES {
  # add or remove based on preferences
  imap          cmd="imapd" listen="imap" prefork=0
  imaps         cmd="imapd -s" listen="imaps" prefork=0
  pop3          cmd="pop3d" listen="pop3" prefork=0
  pop3s         cmd="pop3d -s" listen="pop3s" prefork=0
  sieve         cmd="timsieved" listen="sieve" prefork=0

  # at least one LMTP is required for delivery
#  lmtp         cmd="lmtpd" listen="lmtp" prefork=0
  lmtpunix      cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
}

EVENTS {
  # this is required
  checkpoint    cmd="ctl_mboxlist -c" period=30

  # this is only necessary if using duplicate delivery suppression
  delprune      cmd="ctl_deliver -E 3" period=1440
}
----------------------------------------------------------------------------

Best regards,
                        Andres Maduro

Reply via email to