source: vendor/3.6.23/examples/ad-bench/time_ldap.sh

Last change on this file was 740, checked in by Silvan Scherrer, 13 years ago

Samba Server: update vendor to 3.6.0

File size: 2.8 KB
Line 
1#!/bin/bash
2
3ITERATIONS=100
4
5source `dirname $0`/utils.sh
6
7PRINCIPAL=$(get_principal $1)
8PASSWORD=$(get_password $1)
9REALM=$(get_realm $1)
10NT_DOM=$(get_nt_dom $1)
11SERVER=$2
12
13search_users () {
14 ${NET} ads search '(objectCategory=user)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
15 RET=$?
16 if [ $RET -ne 0 ]; then
17 echo "${NET} returned error: $RET"
18 exit 1
19 fi
20}
21
22search_groups () {
23 ${NET} ads search '(objectCategory=group)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
24 if [ $RET -ne 0 ]; then
25 echo "${NET} returned error: $RET"
26 exit 1
27 fi
28}
29
30search_computers () {
31 ${NET} ads search '(objectCategory=computer)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
32 if [ $RET -ne 0 ]; then
33 echo "${NET} returned error: $RET"
34 exit 1
35 fi
36}
37
38search_wildcard () {
39 ${NET} ads search '(objectCategory=*)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
40 if [ $RET -ne 0 ]; then
41 echo "${NET} returned error: $RET"
42 exit 1
43 fi
44}
45
46search_unindexed () {
47 ${NET} ads search '(description=Built-in account for adminstering the computer/domain)' sAMAccountName -k -s $CONFIG_FILE -S ${SERVER} > /dev/null
48 if [ $RET -ne 0 ]; then
49 echo "${NET} returned error: $RET"
50 exit 1
51 fi
52}
53
54set_up () {
55 set_krb_env
56 setup_kinit
57 call_kinit "${PRINCIPAL}" "${PASSWORD}"
58 write_configfile "${REALM}" "${NT_DOM}"
59}
60
61tear_down () {
62 ${KDESTROY}
63 restore_krb_env
64}
65
66set_up
67
68echo -e "\tSEARCH INDEXED $2"
69
70START_TIME=$(start_timer)
71
72echo -en "\t"
73for i in $( ${SEQ} 1 $ITERATIONS ); do
74 search_users
75 search_groups
76 search_computers
77 echo -n "."
78done
79echo "done"
80
81STOP_TIME=$(stop_timer)
82
83TOTAL_TIME=$( total_time $START_TIME $STOP_TIME )
84
85echo -e "\t\ttotal time:\t\t${TOTAL_TIME}s"
86
87LOGINS_PER_MINUTE=$(iterations_per_minute $START_TIME $STOP_TIME $ITERATIONS)
88
89echo -e "\t\titerations/min:\t\t$LOGINS_PER_MINUTE"
90
91########################
92
93echo -e "\tSEARCH WILDCARD $2"
94
95START_TIME=$(start_timer)
96
97echo -en "\t"
98for i in $( ${SEQ} 1 $ITERATIONS ); do
99 search_wildcard
100 echo -n "."
101done
102echo "done"
103
104STOP_TIME=$(stop_timer)
105
106TOTAL_TIME=$( total_time $START_TIME $STOP_TIME )
107
108echo -e "\t\ttotal time:\t\t${TOTAL_TIME}s"
109
110LOGINS_PER_MINUTE=$(iterations_per_minute $START_TIME $STOP_TIME $ITERATIONS)
111
112echo -e "\t\titerations/min:\t\t$LOGINS_PER_MINUTE"
113
114########################
115
116echo -e "\tSEARCH UNINDEXED $2"
117
118START_TIME=$(start_timer)
119
120echo -en "\t"
121for i in $( ${SEQ} 1 $ITERATIONS ); do
122 search_unindexed
123 echo -n "."
124done
125echo "done"
126
127STOP_TIME=$(stop_timer)
128
129TOTAL_TIME=$( total_time $START_TIME $STOP_TIME )
130
131echo -e "\t\ttotal time:\t\t${TOTAL_TIME}s"
132
133LOGINS_PER_MINUTE=$(iterations_per_minute $START_TIME $STOP_TIME $ITERATIONS)
134
135echo -e "\t\titerations/min:\t\t$LOGINS_PER_MINUTE"
136
137tear_down
Note: See TracBrowser for help on using the repository browser.