https://github.com/go-pluto/benchmark
Benchmark evaluates response time performance of pluto, Dovecot, and Gmail.
https://github.com/go-pluto/benchmark
benchmark go golang imap measurements pluto response-time
Last synced: about 1 month ago
JSON representation
Benchmark evaluates response time performance of pluto, Dovecot, and Gmail.
- Host: GitHub
- URL: https://github.com/go-pluto/benchmark
- Owner: go-pluto
- License: gpl-3.0
- Created: 2017-07-04T12:44:06.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-08-25T10:07:29.000Z (about 8 years ago)
- Last Synced: 2024-06-20T19:22:07.410Z (over 1 year ago)
- Topics: benchmark, go, golang, imap, measurements, pluto, response-time
- Language: Go
- Homepage: https://github.com/go-pluto/pluto
- Size: 60.5 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# IMAP Benchmark
A tool to generate IMAP traffic for [pluto](https://github.com/go-pluto/pluto), [Dovecot](https://www.dovecot.org), and other IMAP services (like [Gmail](https://www.google.com/gmail)).
## Traffic Generation
The major difference to previously introduced `imap-evaluation` is, that we now support **IMAP Sessions**. Sessions are sequences of IMAP commands that are executed consecutively. The commands are *more or less* reasonable.
For the moment we only focus on **state-changing** (i.e. write) commands like:
* CREATE
* DELETE
* APPEND
* STORE
* EXPUNGE## Setup
To install `imap-benchmark`, please run
```
$ go get -u github.com/go-pluto/benchmark
```Modify the config file `test-config.toml` and the user data base `userdb.passwd`.
## Usage
You can start benchmarking an IMAP service by running the `imap-benchmark.go` file.
```
$ go run imap-benchmark.go
```Alternatively, you can provide paths for config file and userdb:
```
$ go run imap-benchmark.go --config /var/config.toml --userdb /var/private.passwd
```## Logging
All response times are collected in a log file underneath the `results` folder.
## License
This project is [GPLv3](https://github.com/go-pluto/benchmark/blob/master/LICENSE) licensed.