Browsermob - cloud based performance testing and monitoring Source

1---
2title: 'Browsermob - cloud based performance testing and monitoring'
3date: '2010-10-23'
4published_at: '2010-10-23T20:28:00.009+11:00'
5tags: ['development', 'javascript', 'performance testing', 'quality assurance', 'selenium', 'software', 'testing', 'web']
6author: 'Gavin Jackson'
7excerpt: 'I''ve recently started a new job (Java web development) - watch this space, I''ll be blogging about it very soon - and have needed to set up some external monitoring and performance testing quickly. I''v...'
8updated_at: '2010-10-23T21:14:46.872+11:00'
9legacy_url: 'http://www.gavinj.net/2010/10/browsermob-cloud-based-performance.html'
10---
11
12[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX7xKbHXawQpN8uIXsPLlA9D9dddPkvkiH1fWyrh78vawW2Iz4LmUkHzvMVPKBfqb-vw7hISPLDXK9XiluGBa2x38UBYVNXTnJKJWKjPDv33QfleofRvIIgAMwDB31vRaJ3fJDXX0e1A4/s400/bugatti.jpg)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX7xKbHXawQpN8uIXsPLlA9D9dddPkvkiH1fWyrh78vawW2Iz4LmUkHzvMVPKBfqb-vw7hISPLDXK9XiluGBa2x38UBYVNXTnJKJWKjPDv33QfleofRvIIgAMwDB31vRaJ3fJDXX0e1A4/s1600/bugatti.jpg)
13
14I've recently started a new job (Java web development) - watch this space, I'll be blogging about it very soon - and have needed to set up some external monitoring and performance testing quickly. I've been using Selenium for functional testing for a few years now - and was excited when I came across browsermob - which allows you to use selenium scripts to perform external system monitoring and performance testing at load. It does so by spawning real firefox instances across virtual machines running inside Amazons EC2 cloud infrastructure. This allows you to use test servers located in seven countries:
15
16- Washington DC
17- SF Bay Area, CA
18- Dublin, Ireland
19- New York
20- Amsterdam
21- Singapore
22- Dallas TX
23
24With the monitoring component, you can choose several countries to ping your site.[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBoh8ZG2zeoTMpDHtfCAvVyfue3svaPC9Sx5dFNvTLMwk0_e5v7JvWSgLLRz_9X6fX58BQyUxxvRonRRvXPY1vKLRHz7XdrpdVi6vDYBF2j7AMSkshDBem-FhV5AF4cjjFSqnXF8JK1AM/s320/monitoring.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBoh8ZG2zeoTMpDHtfCAvVyfue3svaPC9Sx5dFNvTLMwk0_e5v7JvWSgLLRz_9X6fX58BQyUxxvRonRRvXPY1vKLRHz7XdrpdVi6vDYBF2j7AMSkshDBem-FhV5AF4cjjFSqnXF8JK1AM/s1600/monitoring.png) With the performance testing component, you choose a single country to run your tests from.
25
26There are two variety of users - Real Browser Users (RBU) and Virtual Users (VU). RBU allows you to run selenium scripts out of a real browser, VU allows you play back raw http request/response. VU has a much cheaper infrastructure cost.
27
28[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBU4RirH5Z_ocUuIAxRkI49ntNr7mHm8r9ZeLxpQv1g0usHPac-QoD_59Lknww9puYah65kDQH_PPGc3P1C4aetn3foQs-K7UArXhJkRFW-2j7_1gAzAt8MG4VtSQZ698V8Kn04qszOH8/s320/scheduling.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBU4RirH5Z_ocUuIAxRkI49ntNr7mHm8r9ZeLxpQv1g0usHPac-QoD_59Lknww9puYah65kDQH_PPGc3P1C4aetn3foQs-K7UArXhJkRFW-2j7_1gAzAt8MG4VtSQZ698V8Kn04qszOH8/s1600/scheduling.png)
29
30Both monitoring scripts and performance scripts use the browsermob javascript api - this also provides access to the selenium api (for RBUs). The documentation, FAQs and blog articles are all very well-written and extremely helpful.
31
32There is a local script verfication harness you can download to develop your scripts and test (it's pretty cool - you actually see firefox being remote controlled locally via Selenium RC).
33
34There is a mechanism to upload csv files (containing user login creds and test data), and also convert your existing selenium functional test scripts.
35
36Performance tests can be scheduled - you can pick the number of users you want, you can choose to ramp up (or down) users, or run at a constant rate.
37
38You can choose to run several test scripts during a test session (you give each script a percentage to determine how many times it gets executed). There is no facility (at present) to create predefined test scenarios for later scheduling.
39
40Test results are pretty stunning, they provide an amazing amount of data to drill down on (they also allow you to download a mysql database containing all of your test results for later analysis).
41
42If a test fails, it records the actual browser session and produces a screenshot for later viewing.
43
44[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7qqV_klpAAA5ijoEHTRROAInEpycCThyphenhyphenS6CIC-UIFja-XrNZo-V8hTR-_ZDNT_3vkwxk_BsBi1-TjaFPerPV1RaBKTm8YftRxK1EyCmY2EOx2Uo6XSX0-gkkCIMM0ZZe_b5wkUvf8Nfg/s320/test_results_1.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7qqV_klpAAA5ijoEHTRROAInEpycCThyphenhyphenS6CIC-UIFja-XrNZo-V8hTR-_ZDNT_3vkwxk_BsBi1-TjaFPerPV1RaBKTm8YftRxK1EyCmY2EOx2Uo6XSX0-gkkCIMM0ZZe_b5wkUvf8Nfg/s1600/test_results_1.png)
45
46All graphs have very good explanations on how to interpret the results. Although keep in mind, server side monitoring provides the other half of the picture (so make sure you have nmon/xymon/perfmon running on your servers).
47
48[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJU8hYDbhOwOWV2U4RjMmahuupaMSWOFsLMh77mCS36ptFMlmvXP8rbBYBfBXCG_F4UrtNsJHkTEcawOXINPPwpYys03ExTaX9k-EbHMZW6twD-W4l-9l63rxEFeBuqg0PS8xUYFRxmJs/s320/test_results_2.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJU8hYDbhOwOWV2U4RjMmahuupaMSWOFsLMh77mCS36ptFMlmvXP8rbBYBfBXCG_F4UrtNsJHkTEcawOXINPPwpYys03ExTaX9k-EbHMZW6twD-W4l-9l63rxEFeBuqg0PS8xUYFRxmJs/s1600/test_results_2.png)
49[![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ-rQkkx0q94M9MjxPQwXCdG1RJS5Ox-pIODD9Gi1BPAXWmtrdLDiELOy2w1LuucAWTFE9rIyGTvihbNOO1GrobAc-OKslOmHV5KlRdyntNcztHm-Xoid45UWRosc6K8aV0wSK3Or452U/s320/test_results_3.png)](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ-rQkkx0q94M9MjxPQwXCdG1RJS5Ox-pIODD9Gi1BPAXWmtrdLDiELOy2w1LuucAWTFE9rIyGTvihbNOO1GrobAc-OKslOmHV5KlRdyntNcztHm-Xoid45UWRosc6K8aV0wSK3Or452U/s1600/test_results_3.png)
50
51Pricing seems pretty good for what you get - a fraction of competing commercial load testing products (and you get the infrastructure to boot).
52
53I still need to verify a few things about the amount of included cloud dollars with the company before I comment further - the marketing material simply states "ample included":-/ I don't think there is a competing technology in this league - the features are staggering, it's easy to use and the documentation is great.
54
55If you are building an externally facing website and have a requirement for stress and volume testing I would highly recommend this product.
56
57
58