Performance Test Additions

Leading question : Is it important to spread the client requests onto many machines or is it sufficient to use few machines generating the load on the server

This page describes the research of comparing the results in case of using many (18) or few (3) machines to submit ldapsearch commands to a server.

One ldapsearch command is excuted as a own process which means opening a own connection, submit a search and close the connection. So, in theory there should be not difference, if the clients

This chapter proves in the case of OpenLDAP that there is a difference. Both ways are tested and the effects in terms of response time behaviour are shown. The results of this test affects further OpenLDAP performance investigations.

The scenario

The number of total requests were kept contant (90). In theory, each ldapsearch process being forked off in a bash script opens a own connection to the OpenLDAP server slapd. As soon one is finished the next one is started immediatly. A burst is the time in which those ldapsearches are spawned.

We expect to have the same response time behaviour for the same amount of requests, independend if they are splitted onto many or very few machines.

The client machines can be considered as equal in terms of performance when forking off a ldapsearch command.

Below we see the response time behaviour of an midrange ldap server running OpenLDAP version 2.2.27 with 3, 6, 9 and 18 clients.

Requests spread onto 3 client machines

3M_30T_Test_timethreads.png

Requests spread onto 6 client machines

6M_15T_Test_timethreads.png

Requests spread onto 9 client machines

9M_10T_Test_timethreads.png

Requests spread onto 18 client machines

18M_5T_Test_timethreads.png

Result

Taking a look at the 3 and 18 machine test run, one can see a significant difference in terms of response time behavior. The average response time for 90 parallel ongoing requests distributed onto 3 machines is about 0.14 seconds whereas the same test on 18 machines resulted in an average of 0.43 sec. However, as we see from the graphs some requests took about 10 seconds ! (The precise percentage can be found here SlapdMidrangeHighEndDiff#Result ). Checking the slapd.log file for the connection statistics we can see the following :

Machines Connections (Binds) Searches Unbinds Total operations (diff. to previous)
3 2829 2829 2829 8487
6 4495 4495 4495 13485 (4998)
9 4540 4540 4540 13620 (135)
18 4547 4547 4547 13641 (21)

From the table obove, we can also determine a limit for handling requests/time by looking at the number of total operation. It doesn't make a great difference if 6,9 or 18 machines are used for submitting requests. This number depends on the OpenLDAP server version, the hardware specification and server configuration.

Conclusion

The investigations presented here answer the question at the beginning of the page clearly. Looking at the tests done with 3 and 18 machines it seems that there is a difference in terms of the total amount of operation reported by the server if requests are sent from few or many machines. But the CPU load of one of the 3 machines is nearly 100% during the bursts ! This means that the clients are too much loaded to stress enough the server so we could see response time peaks (as we see in the 18 machine test).

This limit of the clients depend on the hardware configuration, software and its configuration. However, to come up with a meaningful result for these performance tests, this has be considered.

-- FelixNikolausEhm - 04 Jul 2007

Topic attachments
I Attachment History Action Size Date Who Comment
Compressed Zip archivetar 18M_5T_Test_log.tar r1 manage 320.0 K 2007-07-05 - 11:32 FelixNikolausEhm 18 Machine test data
PNGpng 18M_5T_Test_timethreads.png r1 manage 6.0 K 2007-07-05 - 11:25 FelixNikolausEhm 18 clients response time graph
Compressed Zip archivetar 3M_30T_Test.tar r1 manage 790.0 K 2007-07-05 - 11:34 FelixNikolausEhm 3 Machine test data
PNGpng 3M_30T_Test_timethreads.png r1 manage 6.2 K 2007-07-05 - 11:26 FelixNikolausEhm 3 clients response time graph
Compressed Zip archivetar 6M_15T_Test.tar r1 manage 710.0 K 2007-07-05 - 11:35 FelixNikolausEhm 6 Machine test data
PNGpng 6M_15T_Test_timethreads.png r1 manage 6.6 K 2007-07-05 - 11:26 FelixNikolausEhm 6 clients response time graph
Compressed Zip archivetar 9M_10T_Test.tar r1 manage 520.0 K 2007-07-05 - 11:34 FelixNikolausEhm 9 Machine test data
PNGpng 9M_10T_Test_timethreads.png r1 manage 5.8 K 2007-07-05 - 11:26 FelixNikolausEhm 9 clients response time graph
PNGpng cpu_load.png r1 manage 4.7 K 2007-07-18 - 16:43 FelixNikolausEhm The cpu load for 3M_30T Test on one client (last burst)
Edit | Attach | Watch | Print version | History: r13 < r12 < r11 < r10 < r9 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r13 - 2008-02-21 - FelixNikolausEhm
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback