Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Architecture in Practice Mandatory project in performance engineering.

Similar presentations


Presentation on theme: "Software Architecture in Practice Mandatory project in performance engineering."— Presentation transcript:

1 Software Architecture in Practice Mandatory project in performance engineering

2 Introduction Mandatory Project in Performance Engineering –The purpose of the Mandatory Project in Performance Engineering is to make a performance test of the TM12 application. –The result of the project will be a performance test report which you must hand-in for review through the courseadmin system. –The report should follow the best practices for communicating the results of a performance test as presented at the seminar.

3 Test Architecture The Perfmon Listener from JMeters-Plugin project allows easy collection of ressource usage from a range of platforms (Windows, Linux, Mac, …). Data is collected directly to the JMeter user interface. Test results are automatically uploaded and analyzed in loadosophia.org Jetty ServerDatabase TM12 JMeter HTTP JMeter-Plugins Server Agent Monitor ressources jvisualvm Perfmon Plugin loadosophia.org Upload test results Design and execute test Analyze results Profile code

4 Test tools Mandatory Tools –JMeter Open source performance test tool In widespread use for many commercial purposes Available from http://jmeter.apache.orghttp://jmeter.apache.org –JMeter-Plugins Open source plugin for JMeter which allows collection of ressource usage Available from http://code.google.com/p/jmeter-plugins/downloads/listhttp://code.google.com/p/jmeter-plugins/downloads/list More information available here: http://www.methodsandtools.com/tools/jmeterplugins.phphttp://www.methodsandtools.com/tools/jmeterplugins.php Optional Tools –Loadosophia.org Powerful and user-friendly hosted tool for analyzing JMeter test results Free tool which offers seamless integration with JMeter –jvisualvm Powerful java code profiler distributed with JDK Nice graphic user interface – easy to use Can also provide realtime view of processor usage per process jdk\bin\jvisualvm.exe

5 Handout for the project In order not to struggle with learning the JMeter tool a testplan file will be handed out. The testplan contains –Readers group sends HTTP GET request to view result –Writers group sends HTTP POST request to create a new test result in the database –Graph Listener measures response times and throughput –Perfmon Listener measures CPU usage of 3 processes –JMeter itself –Mongo Database –JettyServer –Loadosophia.org Uploader Uploads test results to loadosophia.org which automatically creates a nice test report of collected data You are welcome to use other tools for collecting CPU resource usage (e.g. Windows Perfmon) and generate reports –but be warned that it will probably require significant work from your side!!

6 Guidelines for the project Mandatory requirements –Perform a load test under normal load conditions with memory-based server Measure CPU ressource usage on relevant proceses Measure response times, throughput and CPU usage Analyze results (process level) Report outcome of test and hand-in test report through courseadmin system Optional requirements –Perform the load test also with the persistent server (using mongo db) Compare the results of the 2 test runs – and discuss differences –Perform a stress test of your system Repeat the load test and increase the load until you reach the “breaking point” Analyze results (process level) Report outcome of test –Find bottleneck in the system When you analyze the results you should go below the process level and investigate the java code to see whether the TM12 application design is the bottleneck – or whether the bottleneck is somewhere else This can be done using the jvisualvm tool

7 Guidelines for the report Your report must have the same quality as if you would deliver it to your manager or a client. You should not create an extensive report but it must contain the relevant results and conclusions of your performance test. Your report must at least include –Description of your test environment –Number of test runs and their focus –Description of the workload(s) used for the test(s) –Results for response times, throughput and CPU utilizations –Conclusions on performance –Suggested improvement areas Remember: Use the relevant statistical measures!


Download ppt "Software Architecture in Practice Mandatory project in performance engineering."

Similar presentations


Ads by Google