MANAGEMENT CONSOLE PERFORMANCE COMPARISON Performance comparison between Blancco Management Console 3.3.2 and 3.6.0 www.blanccotechnologygroup.com
TABLE OF CONTENTS 1. Overview... 3 Method... 3 2. Performance tests... 4 Web Browser Page Load Time... 4 Quick Search Response... 4 Report Upload... 6 Simultaneous Upload and Quick Search... 6 3. Conclusion... 8 4. Appendix 1: performance data tables... 9 5. Contact Information... 10 2/10
1. OVERVIEW The Blancco engineering team have made numerous improvements to Management Console and added new indexes to the database schema with the aim of reducing the time to respond to search queries. The aim of this performance testing was to determine if the response times for report retrieval using MC 3.6.0 is measurably better when compared to MC 3.3.2. Report uploads are likely to take longer in MC 3.6.0 since the database must now update and save indexes after storing each report. However, provided search query response times are significantly reduced in 3.6.0, then the penalty of increased upload times may be acceptable. These tests are not intended to accurately simulate real-world production loads since doing so is very difficult to achieve. To avoid this limitation, we focused on comparing response times between 3.3.2 and 3.6.0 while carrying out standard use-cases under significant load: web page browsing, quick search, report upload and combinations thereof. Multiple requests were made concurrently to mimic the load generated by multiple operators using the system at the same time. Method The general method used in all the tests was to load the server with queries and observe the maximum response times. Numerous runs of each test were conducted and their response times averaged to ameliorate the impact of non-query load such as garbage collection, and operating system interrupt routines. It was noted during pilot testing that database queries in 3.3.2 were compute-bound: a single query caused a sustained load on one entire CPU core. Therefore, the number of CPU cores for each database server was varied during performance testing in order determine the significance of this effect. 3/10
2. PERFORMANCE TESTS Web Browser Page Load Time The general procedure was: 1. Load the Management Console s log in page. 2. Observe the CPU load on both MC and database servers until both were idle. 3. Start timing. 4. Log in. 5. Wait for the dashboard page to load. 6. Click the Reporting link. 7. Stop timing when the reporting page has completely loaded. Three tests were conducted: MC 3.3.2 with Average HDD Size widget enabled (the default configuration) MC 3.3.2 with Average HDD Size widget disabled MC 3.6.0 with Average HDD Size widget disabled (the default configuration) We repeated each of the tests three times to obtain a mean response time. In default configurations page-load times in 3.6.0 are 2 times faster than in 3.3.2. The information presented in the Average HDD Size widget is of no value and removing it had a significantly positive effect on response times. Quick Search Response During initial testing it was noted that a single quick search run on 3.3.2 would cause a single CPU core to run at 100 % for the length of the query. Therefore, it was decided that running N+1 quick searches (where N is number of CPU cores) may provide an insight into the responsiveness of a system under load from multiple users. 4/10
N+1 threads were spawned in Apache JMeter server performance testing tool, and the maximum response time recorded. This was repeated 4 times to generate a mean maximum response time for N+1 threads. Four of each test were conducted: MC 3.3.2 with 4 CPU cores; MC 3.3.2 with 12 CPU cores; MC 3.6.0 with 4 CPU cores; and, MC 3.6.0 with 12 CPU cores. Response times for quick search from 3.3.2 to 3.6.0 are improved by three orders of magnitude. This holds for both independent queries and multiple concurrent queries. 5/10
Report Upload One thread was spawned by using Apache JMeter server performance testing tool, repeating the upload 100 times. The maximum upload time was recorded for each batch. This test is repeated four times to generate an average of the maximum upload time on an otherwise non-loaded system. Four of each test were conducted: MC 3.3.2 with 4 CPU cores MC 3.3.2 with 12 CPU cores MC 3.6.0 with 4 CPU cores MC 3.6.0 with 12 CPU cores Report upload times carried out in isolation in 3.6.0 are double compared to 3.3.2. Simultaneous Upload and Quick Search For each test run two thread groups were spawned in JMeter: 1. One thread of 100 sequential report uploads as in the section Report Upload, recording the maximum response time 2. N+1 threads of quick search requests as in the section Quick Search Response, recording the maximum response time Each test was run four times to generate an average maximum response time for both quick searches and report uploads. Four of each test were conducted: MC 3.3.2 with 4 CPU cores MC 3.3.2 with 12 CPU cores MC 3.6.0 with 4 CPU cores MC 3.6.0 with 12 CPU cores 6/10
7/10
3. CONCLUSION While the additional time to write indexed data is in the order of 0.5 seconds, response times for quick search are dramatically improved by at least 1000 times. Response times for quick search under high load (when there are more queries than CPU cores) grow in both software versions, however in 3.3.2 the growth factor is double that of 3.6.0. This indicates that 3.6.0 scales better under load. Upload times are increased in 3.6.0 compared to 3.3.2 due to the need to update database indexes. However, under load, upload times grew some 16 times more using 3.3.2 and in 3.6.0 the growth is insignificant. This indicates that the trade-off of slightly increased upload times in isolation is acceptable because we observe an overall performance improvement in mixed, concurrent loads. 8/10
4. APPENDIX 1: PERFORMANCE DATA TABLES 3.3.2 with HDD size widget 3.3.2 3.6.0 Run 1 11.17 8.20 4.86 Run 2 10.45 7.16 4.55 Run 3 11.17 7.60 4.70 Mean 10.93 7.65 4.70 Table 1. Web page load times MC 3.3.2 MC 3.6.0 Test 1 Test 2 Test 3 Test 4a Test 4b Test 1 Test 2 Test 3 Test 4a Test 4b Run 1 0.411 875 2891 2.38 2134 1.138 1.065 1.657 0.714 1.481 Run 2 0.442 871 1885 11.127 2755 0.848 1.045 1.279 0.664 1.623 Run 3 0.387 852 2920 8.63 2229 0.718 1.099 1.484 1.628 1.875 Run 4 0.701 873 1975 9.603 2814 0.729 1.039 1.752 1.308 2.031 Mean 0.485 868 2418 7.935 2483 0.858 1.062 1.543 1.079 1.753 Mean (MM:SS) 00:00 14:28 40:18 00:08 41:23 00:01 00:01 00:02 00:01 00:02 Table 2. Response times with 4 CPUs Test 1: Maximum response time of 100 sequential report uploads. Test 2: Response time for a single quick search. Test 3: Maximum response time for N+1 concurrent quick searches. Test 4a: Maximum response time of 100 sequential report uploads during N+1 concurrent quick searches. Test 4b: Maximum response time for N+1 concurrent quick searches during 100 sequential report uploads MC 3.3.2 MC 3.6.0 Test 1 Test 2 Test 3 Test 4a Test 4b Test 1 Test 2 Test 3 Test 4a Test 4b Run 1 0.571 928 2641 10.82 2121 0.753 1.42 2.026 0.999 2.215 Run 2 0.592 906 2510 3.604 2564 0.714 1.079 2.206 0.999 2.128 Run 3 0.54 925 2511 10.708 2543 0.999 1.051 1.96 0.999 2.031 Run 4 0.287 899 2617 7.554 2632 0.999 1.071 2.026 0.999 2.135 Mean 0.498 915 2570 8.172 2465 0.866 1.155 2.055 0.999 2.127 Mean (MM:SS) 00:00 15:15 42:50 00:08 41:05 00:01 00:01 00:02 00:01 00:02 Table 3. Response times with 12 CPUs 9/10
5. CONTACT INFORMATION Visit the technical knowledgebase (FAQ) and contact Blancco Technical Support by submitting a technical support ticket at: http://support.blancco.com/ See the instructional videos for Blancco products at: http://www.blancco.com/en/videos/ For contact information and the latest information about secure data erasure solutions, visit the Blancco website at: http://www.blancco.com We are always looking for ways to improve our products. Please let us know if you have any suggestions! 10/10