Differences between revisions 1 and 86 (spanning 85 versions)
Revision 1 as of 2007-12-01 13:19:45
Size: 2732
Editor: TimoSirainen
Comment:
Revision 86 as of 2013-07-30 17:23:48
Size: 387
Editor: MatthiasT
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= IMAP Tester =

imaptest was originally written for stress testing [http://www.dovecot.org/ Dovecot] IMAP server. Its primary testing method is still stress testing, but now it also parses the incoming IMAP replies and complains if anything looks broken.

== Compiling ==

 1. Download and compile Dovecot v1.1 sources. imaptest uses its library functions.
  1. Get the latest beta from http://dovecot.org/releases/1.1/beta/
  1. Compiling goes the usual way: {{{./configure && make}}} (there's no need for {{{make install}}})
 1. Download http://www.dovecot.org/tools/imaptest.c to Dovecot sources' root directory (i.e. where the {{{configure}}} script exists)
 1. imaptest's header comment shows the compile command for gcc, use it or something similar.

You may want to modify the default configuration from #defines at the top of the file. This isn't required, but if you run imaptest often this way you don't have to give the same parameters every time.

== Running ==

The most important parameters (and their defaults) are:
 * host=127.0.0.1: Host name/IP address where to connect.
 * port=143: Port what to use.
 * user=tss: Username template. You can use multiple random users and domains by giving %d in the template. So for example {{{user%d}}} returns user1..user100 and {{{user%d@domain%d.org}}} returns user1..100@domain1..100.org. The 1..100 range is hardcoded to the binary. You can change them from {{{USER_RAND}}} and {{{DOMAIN_RAND}}} defines.
 * password=pass: Password to use for all users. There's currently no way to use different passwords for different users.
 * mbox=/home/tss/mail/dovecot-crlf: Path to mbox file where to append messages from. See below for how this is used.

Other useful parameters include:
 * clients=10: Number of simultaneous client connections to use.
 * secs=n: Run imaptest n seconds and then exit.
 * box=INBOX: Mailbox to use for testing. INBOX is the default.
 * copybox=n: When testing COPY command, this specifies the destination mailbox.
 * seed=n: Seed to use for random generator. Setting this to some specific value makes repeated benchmarks a bit more reliable, because the used commands should be the same then.
 * disconnect_quit: If a client gets disconnected, quit. Use logout=0 parameter with this one. This is useful when debugging some problem in the server.
 * no_pipelining: Don't send multiple commands at once to server.

Selecting what to test:
 * <state>=<probability>[,<probability2>]: State probabilities to use. See below.
 * checkpoint=n: Run a checkpoint every n seconds. See below.
 * random: Switch randomly between states.
 * no_tracking: Don't track and complain about IMAP state. Makes it use a bit less CPU.
My name is Matthias Tran but everybody calls me Matthias. I'm from France. I'm studying at the university (1st year) and I play the Trumpet for 5 years. Usually I choose songs from my famous films :D. <<BR>>
I have two brothers. I love Taxidermy, watching TV (CSI) and LARPing.<<BR>>
<<BR>>
Here is my website - msn - [[http://crear-correo.blogspot.com|crear-correo.blogspot.com]] -

My name is Matthias Tran but everybody calls me Matthias. I'm from France. I'm studying at the university (1st year) and I play the Trumpet for 5 years. Usually I choose songs from my famous films :D.
I have two brothers. I love Taxidermy, watching TV (CSI) and LARPing.

Here is my website - msn - crear-correo.blogspot.com -

None: ImapTest (last edited 2023-11-07 21:14:43 by TimoSirainen)