addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramlinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Second Software Performance Meetup

  • Sep 2, 2014 · 7:00 PM
  • fortiss GmbH - An-Institut Technische Universität München

Agenda:
1. Introduction
2. Presentations 


Felix Willnecker (fortiss): Software Performance Models in Practice (20 minutes + 10 minutes Q&A)

Predictions about the performance and scalability of application systems are hard to state, especially in early development stages. Large-scale testing systems are usually not available or expensive in terms of initial, operational and license costs. Furthermore, the effort of executing large-scale tests (e.g. performance or load tests) is often not included in project budgets. Nowadays, linear models are often applied for capacity prediction and planning but their reliability and accuracy is questionable. More advanced software performance models allow predicting the performance of application systems with large number of users on regular desktop computers without owning a large-scale test infrastructure. In this talk we will introduce an open-source performance modeling environment called Palladio Software Architecture Simulator. The talk includes a brief introduction into its functionality and capabilities. Furthermore, we will introduce ways to generate performance models from formal software design models (e.g. UML diagrams) or from monitoring data of running systems (e.g. Java EE applications) automatically. The description of the model generation approaches is followed by an overview of evaluations for existing software systems that we have performed using generated performance models.

Daniel Mitterdorfer (comSysto GmbH): Microbenchmarking on the JVM with JMH (20 minutes + 10 minutes Q&A)

Microbenchmarks are used to compare the performance of different implementations of a software component. Unfortunately, writing correct microbenchmarks on the JVM is surprisingly difficult. Besides a good understanding of the JVM, especially the JIT compiler's behavior, solid knowledge of the underlying machine architecture and operating system is certainly beneficial. The Java Microbenchmarking Harness (JMH) of the OpenJDK project simplifies creating correct microbenchmarks. In this talk, I will describe common pitfalls of handwritten benchmarks and how JMH helps to avoid them.

3. Get-Together


Where?
fortiss GmbH - An-Institut Technische Universität München, Guerickestraße 25, 80805 Munich.
For a detailed description on how to find us, please visit http://pmw.fortiss.org/about-us/how-to-find-us/

Join or login to comment.

  • Andreas B.

    Hi Erik,

    Thanks for sharing your experiences! I think that there are several conditions for this test to be "realistic": 1. The dataset in your database needs to be small enough so that query results like the ones resulting from strategy 1 and 2 are still manageable in memory on the application server layer -> as the dataset grows, network overhead would also impact your results
    2. Your database is row-oriented (specific queries might be faster in column-oriented databases)
    3 . Your application uses SQL directly and no OR-mapper such as JPA, so that you can influence on the SQL code send to the db
    4. Hardware resources such as CPU, memory or HDD are not the bottleneck

    Furthermore, each of your tests should be executed individually. Each test run should also be a little longer and include a ramp-up and ramp-down phase. Throughput data should only be measured during a steady state between ramp-up and ramp-down. Just my 2cents, hope this helps,
    Andreas

    October 13, 2014

    • Erik O.

      Ok, all, what is your guess? If I re-run with warmup and longer steady stead, how similar will the results be? You've got me curious now, I'll report back after I run it.

      October 21, 2014

    • Erik O.

      Whoops, didn't mean to hit enter.
      1) There are roughly 100 rows selected in each round trip, but like you've said I've seen
      large results eat through large heaps to an OOM.
      2) using postgres, so we're row-oriented right?
      3) No OR mapping here. Be was curious if any of you all had experiences with MyBatis?
      trying to find something lighter weight than Hibernate
      4) I'll post hardware consumption with my next test.

      October 21, 2014

  • Erik O.

    Hi all,

    Overly "chatty" SQL/JDBC applications have been causing performance problems at my workplace for years.

    So, I put together some code to do a little performance comparison.

    http://ostermueller.blogspot.com/2014/10/chunky-outperforms-chatty.html

    Would like your thoughts on this, especially how realistic this test is.

    Thanks,
    --Erik

    October 13, 2014

  • Felix W.

    Hello everyone,

    Thanks for joining the second software performance meetup here in Munich.

    The slides from my talk are now availalbe at http://download.fortiss.org/public/pmwt/meetup/20140902_SPM_Performance_Models.pdf The slides will be available for two weeks before we remove them from our website.

    Best regards, and see you at the next meetup.

    1 · September 4, 2014

  • Daniel M.

    The slides from my talk are available at http://daniel.mitterdorfer.name/talks/2014/jmh-microbenchmarking-munich/

    At the end of the talk there was also a question on how to gather metrics in web applications. As I've mentioned, this isn't a scenario where you'd use JMH. To gather metrics you could use libraries like Codahale Metrics (http://metrics.codahale.com/). To generate load there are lots of load test generators like JMeter, Gatling or others.

    4 · September 3, 2014

  • Andreas B.

    The meetup will take place at our caterer in the building (http://www.ms-oase.de/). You will find us on the ground floor. The address is the same: fortiss GmbH - An-Institut Technische Universität München, Guerickestraße 25, 80805 Munich.

    August 28, 2014

Our Sponsors

  • RETIT

    RETIT sponsors the meetup dues and supports the meetup organization!

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy