Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hamano/lb
LDAP benchmarking tool like an Apache Bench
https://github.com/hamano/lb
Last synced: 6 days ago
JSON representation
LDAP benchmarking tool like an Apache Bench
- Host: GitHub
- URL: https://github.com/hamano/lb
- Owner: hamano
- Created: 2015-04-21T12:36:01.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-12-18T23:09:17.000Z (6 months ago)
- Last Synced: 2024-06-19T00:27:28.247Z (11 days ago)
- Language: Go
- Homepage: https://www.osstech.co.jp/~hamano/posts/lb/
- Size: 55.7 KB
- Stars: 33
- Watchers: 5
- Forks: 16
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Lists
- awesome-ldap - lb - LDAP benchmarking tool
- awesome-ldap - lb - LDAP benchmarking tool
README
lb - LDAP benchmarking tool like an Apache Bench
================================================[![Build Status](https://travis-ci.org/hamano/lb.svg?branch=master)](https://travis-ci.org/hamano/lb)
lb is simple benchmarking tool for LDAP Server.
This tool is designed to allow perform by command line such as Apache Bench.## Build
### Build requirements
* Golang 1.4 or later
for Debian or Ubuntu
~~~
# apt-get install golang
~~~Set GOPATH
~~~
$ export GOPATH=~/go
$ export PATH=$GOPATH/bin:$PATH
~~~### Install lb command
~~~
$ go get github.com/hamano/lb
~~~## Usage
lb have setup sub-command that preparing for benchmarking.
### Setup subcommand
* Add base entry
~~~
$ lb setup base -b 'dc=example,dc=com' ldap://localhost/
~~~
This command add base entry.* Add single entry
~~~
$ lb setup person --cn 'test' ldap://localhost/
~~~* Add range entries
~~~
$ lb setup person --cn 'user%d' --last 10 ldap://localhost/
~~~### ADD Benchmarking
~~~
$ lb add -c 10 -n 1000 ldap://localhost/
~~~This command add following entries 1000 times with 10 threads.
~~~
dn: cn=${THREADID}-${COUNT},dc=example,dc=com
cn: ${THREADID}-${COUNT}
sn: sn
userPassword: secret
~~~Use --uuid option if you want to use UUID for cn.
~~~
$ lb add -c 10 -n 1000 --uuid ldap://localhost/
~~~~~~
dn: cn=${UUID},dc=example,dc=com
cn: ${UUID}
sn: sn
userPassword: secret
~~~### DELETE Benchmarking
~~~
$ lb delete -c 10 -n 1000 ldap://localhost/
~~~This command make delete request with following DNs:
~~~
cn=0-0,dc=example,dc=com
...
cn=9-999,dc=example,dc=com
~~~### BIND Benchmarking
* BIND Benchmarking with single entry
~~~
$ lb bind -c 10 -n 1000 -D cn=user,dc=example,dc=com -w secret ldap://localhost/
~~~
This command make 1000 times bind request with 10 threads.* BIND Benchmarking with ranged random entries
~~~
$ lb bind -D 'cn=user%d,dc=example,dc=com' -w secret --last 10 ldap://localhost/
~~~### SEARCH Benchmarking
* Search Benchmarking with random filters
~~~
$ lb search -c 10 -n 1000 -a "(cn=user%d)" --last 1000 -s sub ldap://localhost/
~~~
This command make 1000 times search request with following random filters:~~~
(cn=user1)
...
(cn=user1000)
~~~### MODIFY Benchmarking
~~~
$ lb modify -c 10 -n 1000 --attr sn --value modified ldap://localhost/
~~~This command make modify request with following DNs:
~~~
cn=0-0,dc=example,dc=com
...
cn=9-999,dc=example,dc=com
~~~## TODO
* modrdn benchmarking