Stress your app

to be less stressed

with JMeter






www.merciedgar.com








Christophe Robillard
@krichtof

Founder of Merci Edgar
CRM for artists, managers

Performance optimizing


"Premature optimization is the root of all evil."

"We should forget about small efficiencies, say about 97% of the time"

"Yet we should not pass up our opportunities in that critical 3%.




Donald Knuth

When





  • Memory or CPU intensive tasks


  • Limited resources

Use case




  • Spreadsheet import

  • Audience : end-users, not geeks

  • CSV, line by line

  • XLS, need to load the entire file in memory

  • Limited resources

Load test





  • Load : Nb concurrent users or HTTP connections

  • Ramp up the load (from few users to predefined max)

  • Load test vs stress test

Load test tools


  • Commercial

    • LoadRunner
    • Cloud services : Loader.io, Flood.io

  • Open source :

    • Apache JMeter
    • Gatling

Apache JMeter



  • Open Source

  • Large community

  • HTTP Client, no javascript support

  • Easy installation

  • Recording

  • Distributed mode

JMeter UI



Ruby - Jmeter


https://github.com/flood-io/ruby-jmeter

require 'rubygems'
require 'ruby-jmeter'

test do
  threads count: 10, rampup: 5, duration: 10 do
    cookies
    cache
    visit name: 'Google Search', url: 'http://google.com'

    submit name: 'Submit Form', url: 'http://altentee.com/search',
      fill_in: {
        q: 'Paris Ruby',
      }
    
  end
end.jmx(file: "testplan.jmx")
# end.grid('NTEbtAr6Yu4yF-s7xzcX')

Flood.io



Questions ?


jmeter.apache.org

jmeter-plugins.org

github.com/flood-io/ruby-jmeter



www.merciedgar.com

Stress your app to be not stressed !

By krichtof

Stress your app to be not stressed !

ParisRB / 2 décembre 2014

  • 1,112