Presentation is loading. Please wait.

Presentation is loading. Please wait.

#SummitNow Load-testing Share Using the Benchmark Framework November 2013 Derek Hulley Michael Suzuki

Similar presentations


Presentation on theme: "#SummitNow Load-testing Share Using the Benchmark Framework November 2013 Derek Hulley Michael Suzuki"— Presentation transcript:

1 #SummitNow Load-testing Share Using the Benchmark Framework November 2013 Derek Hulley : @derekhulley Michael Suzuki : @suzukimichael

2 #SummitNow Some History DevCon 2012 Background and early demo: Slides: https://devcon.alfresco.com/berlin/sessions/alfresco-benchmarking https://devcon.alfresco.com/berlin/sessions/alfresco-benchmarking Demo: http://www.youtube.com/watch?v=ahc6v6zqhwQ http://www.youtube.com/watch?v=ahc6v6zqhwQ What we had in Nov 2012: Benchmark framework tests: Cloud Sign Up; Workflow APIs JMeter ‘approximations’ of Share https://svn.alfresco.com/repos/alfresco-open-mirror/benchmark/scripts/SHARE Nascent browser-based load tests for Share https://svn.alfresco.com/repos/alfresco-open-mirror/benchmark/tests/bm-share

3 #SummitNow JMeter Tests did not match user experience Ajax: Too much to simulate Recording is too static Maintenance 21,000 lines of XML per user action No reuse

4 #SummitNow Web Applications: Complex Multithreading Site Dashboard Avatar Requests Calls are dependent on caching and the user’s avatar; they occur sequentially relative to each other but in parallel with other components on the page. This is one small part of Share.

5 #SummitNow The WebDrone Project Aim to mimic user interaction on Alfresco Share. A library that is simple, reliable and reusable. https://svn.alfresco.com/repos/alfresco-open-mirror/benchmark/webdrone/HEAD

6 #SummitNow WebDrone A Selenium Webdriver wrapper with added functionality. An “Unmanned” Web Browser

7 #SummitNow Share Page Object A library based on the Page Object pattern that maps Share pages to series of objects. “A page object wraps an HTML page, or fragment, with an application-specific API, allowing you to manipulate page elements without digging around in the HTML” Martin Fowler

8 #SummitNow Demo

9 #SummitNow Enterprise Load Testing for 4.1.3 Two-pronged attack Existing JMeter scripts Browser-based load tests Data: 50k users 50k sites Intricate group hierarchy 10M nodes

10 #SummitNow User Actions (LoginEventProcess) Current PageActionNext PageWeighting EmptyGo: http://.../shareLogin Prompt100% Login PromptFill and Click: loginUser Dashboard100% User DashboardClick: People SearchPeople Search5% User DashboardFill and Click: SearchSearch Results10% User DashboardClick: Create SiteCreate Site Dialog5% User DashboardClick: Site (My Sites)Site Dashboard80% Site DashboardClick: Doc LibDocument Library90% Site DashboardFill and Click: SearchSearch Results5% Site DashboardClick: HomeUser Dashboard5% Source: BM-Share-SoakTestScenarios.docxBM-Share-SoakTestScenarios.docx

11 #SummitNow 0002655.Test@00026.example.com’s Journey Through Share

12 #SummitNow Measuring Login Performance Login Event Processor Login PageDashboard PageBrowser ProcessEvent LoginAs Send keystrokes Login button click DashboardPage Timed render Wait For: Activities Wait For: My Sites Wait For: My Docs Wait For: etc Increasing Complexity Server x100

13 #SummitNow Demo Demonstrate with visible browsers on multiple load drivers

14 #SummitNow Some Results Navigate to Share Login Search

15 #SummitNow Ongoing Load Testing

16 #SummitNow

17 Benchmark Framework 2.0 Web UI General test and test run CRUD Monitor test runs (graphs, summaries, etc) Remote deployment to all benchmark test applications Test Applications: Self-contained tests applications (each tests is a WAR) Test drivers register centrally Create tests from specific test applications https://svn.alfresco.com/repos/alfresco-open-mirror/benchmark

18 #SummitNow Benchmark Framework 2.0 Data and Configuration Server (x1) MongoDB (Test Runs) Event Queues Test Run Results Data Mirrors MongoDB (Test Runs) Event Queues Test Run Results Data Mirrors MongoDB (Configuration) Test Definitions Properties Test Run Instructions MongoDB (Configuration) Test Definitions Properties Test Run Instructions BM Server 2.0 (Web App, Json API) MobileBrowser Load Server (xN) BM Server 2.0 (Deployer) BM Server 2.0 (Deployer) Test App 1 Test App 2 Test App N Server(s) Under Load Console


Download ppt "#SummitNow Load-testing Share Using the Benchmark Framework November 2013 Derek Hulley Michael Suzuki"

Similar presentations


Ads by Google