# Port number to use for LMTP. The host is assumed to be the same as for IMAP. lmtp_port = 24 # Maximum number of concurrent LMTP connections. lmtp_max_parallel_count = 10 # Total number of users used for the test. This is divided between user {} # according to their count=n% settings. total_user_count = 1000 # Spread the initial connections at startup equally to this time period. # This way there's not a huge connection spike at startup that overloads # the server. rampup_time = 30s ## ## Users ## # User profiles describe how the users are expected to behave. There can be # one or more user profiles. user aggressive { # Username template format. %n expands to the user index number. username_format = test%n # The first index number to use for users in this profile. Usually different # user profiles should either not overlap or overlap only partially (to # describe users who have different behaviors with different clients). #username_start_index = 1 # It's possible to give the list of usernames from a file. Each line in the # file contains either "username" or "username:password". If password isn't # specified, the global password is used. This setting overrides # username_format and username_start_index settings. #userfile = # Percentage of total_user_count to assign for this user profile. count = 100% # How long the IMAP connection is kept open before disconnecting. mail_session_length = 3 min # How often emails are delivered to INBOX mail_inbox_delivery_interval = 10s # How often emails are delivered to Spam mail_spam_delivery_interval = 5s # How quickly user acts on an incoming email. This is calculated from the # time the user's IMAP connection has seen the new message and FETCHed its # metadata. This may be a long time after the actual mail delivery in case # all users don't have active IMAP connections all the time. mail_action_delay = 2s # After the initial action, how quickly is the next action performed. mail_action_repeat_delay = 1s # Likelyhood of incoming mail being moved to Spam mailbox immediately when # noticed by the IMAP client. mail_action_delay won't affect this. mail_inbox_move_filter_percentage = 10 # How often are outgoing mails sent. The mail is initially written to the # Drafts mailbox, and after mail_write_duration it's written to the Sent # mailbox and deleted from Drafts. mail_send_interval = 10s mail_write_duration = 5s # Below percentages describe the likelyhood of mail actions being performed # for incoming mails. The actions are performed in the given order and # multiple actions can be performed on the same mail. # Mail is marked as \Deleted and UID EXPUNGEd mail_inbox_delete_percentage = 5 # Mail is moved to Spam mail_inbox_move_percentage = 5 # Mail is replied to: APPEND via Drafts and Sent mailboxes and add # \Answered flag mail_inbox_reply_percentage = 50 } user normal { username_format = test%n #username_start_index = 500 #userfile = count = 0% mail_inbox_delivery_interval = 5 min mail_spam_delivery_interval = 3 min mail_action_delay = 3 min mail_action_repeat_delay = 10s mail_session_length = 20 min mail_send_interval = 10 min mail_write_duration = 2 min mail_inbox_reply_percentage = 50 mail_inbox_delete_percentage = 5 mail_inbox_move_percentage = 5 mail_inbox_move_filter_percentage = 10 } ## ## Clients ## # Client profiles describe how the emulated clients are expected to behave. client Thunderbird { count = 80% connection_max_count = 5 imap_idle = yes imap_fetch_immediate = UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS (From To Cc Bcc Subject Date Message-ID Priority X-Priority References Newsgroups In-Reply-To Content-Type)] imap_fetch_manual = RFC822.SIZE BODY[] imap_status_interval = 5 min } client AppleMail { count = 20% connection_max_count = 5 imap_idle = yes imap_fetch_immediate = INTERNALDATE UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS (date subject from to cc message-id in-reply-to references x-priority x-uniform-type-identifier x-universally-unique-identifier)] MODSEQ imap_fetch_manual = BODYSTRUCTURE BODY.PEEK[] imap_status_interval = 5 min }