I just have not been motivated to blog here much lately, mostly because I have been using up most of my brain cells on a performance problem at work. I’m the sole tester on a project that’s developing an ecommerce application which uses ElasticPath on top of Tomcat, connecting to an Oracle database. We have a very large product catalog and we’re struggling to find a way to cache and display it without hitting bottlenecks. Unfortunately, nothing the EP people have suggested has really helped and, in fact, we seem to have found some memory leaks somewhere within the many layers (Hibernate, Spring, Tomcat, JBoss, etc., etc.) that make up the whole application.
Of course, as a tester, it’s not my job to fix those problems, or even necessarily pinpoint where they’re happening (though the more specific I can be, the better). Instead, I’m mainly involved in actual testing that identifies the problems. I’ve done this in a variety of ways, from straightforward functional testing which demonstrates the problems from a user perspective (unfortunately, the memory problems are sometimes painfully obvious when browsing the store) to using JMeter to pound the server with various looping threads and measuring the drop in transactions per second as more threads are added.
JMeter is a pretty cool, open-source tool, but it’s definitely not my strong point. I actually have very little experience in load and stress testing, so I’m learning a lot throughout this process. Hence the drain on my brain and the resulting headaches! As much documentation as there is about JMeter floating around, there could be lots more, IMO. I suspect there is no one person who understands everything it can do! Here’s an article that will blow your mind in a geeky way – the author starts out giving some straightforward tips on JMeter usage and then spends several pages talking about the central limit theorem, confidence intervals, and other statistical goodies. I feel like I just hit myself in the head with a ball-peen hammer about a half dozen times. Good stuff.