3

My organization is looking to perform a performance testing externally. The performance testing is going to be only for web based applications. Can you guide me which tool is best to choose as performance testing tool. Right now there is no idea about the client web application behaviour. Beacuse there could be number of clients. What is the minimum configuration i should look for a hardware?

Can i get 100 percent accurate results using an open source tool in market? I am really struck with these intial doubts. I am new to performance testing. Your answers are highly helpful

A user
  • 1,060
  • 3
  • 19
  • 47
  • How much virtual users you want to emulate ? The minimum configuration is depends of this question of course. From my experience Jmeter has everything to provide high-quality load testing of WEB-applications. You will spend a lot of money for loadrunner if you need to emulate several hundreds/thousands users. – v0devil Jun 23 '15 at 10:05
  • Hi there. Many thanks. Virtual users could be less than 1000 for time being. As we have no client requirements right now. Can i still go for Jmeter to perform for 1000 virtual users? – A user Jun 23 '15 at 10:20
  • You can perform as much as it possible with you hardware (cuz it possible to use distributed load. in this document there is kinda recomendation about hardware "A single JMeter client running on a 2-3Ghz CPU (recent cpu) can handle 300-600 threads depending on the type of test." https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.pdf). – v0devil Jun 23 '15 at 10:53

3 Answers3

4

I am new to performance testing.

Then you should have a mentor that you will be working with for a period of time. The tool selected represents about 5-15% of the solution set for conducting a performance test.

Write down your requirements for reporting, analysis, the skills of your team, the applications and hosts you need to monitor, the environment your tool needs to run in. Use these requirements as a lens through which to view your options.

As to the accuracy, I would invite you to take the following into consideration as part of your testing efforts: Evaluate the tools technically. Look at the load from one live user on your box in terms of IP connections, HTTP sessions, etc..., then using the same tools look at how your tool generates its load. You will find some differences. Some tools, quite popular, will use a smaller number of sessions and piggyback requests from multiple users across an open connection. This will reduce the number of connections versus a natural population and make your job of finding bottlenecks in the session side of the house very difficult. I will not identify the tool/tools so inclined, that will be for your research. You will want to perform this evaluation for one, five and ten users to see how your load is shaped and the structural differences between the tools.

The big commercial vendors all have smaller virtual user versions of their tools at no charge. You can use these versions to evaluate against your requirements and your technical evaluation of a match to true user behavior

James Pulley
  • 5,606
  • 1
  • 14
  • 14
  • James is absolutely correct tool is only a small piece of the PT puzzle. Take it from someone who was new to PT and was mentored (me) if you are new to PT you need a mentor and there is no harm in asking for a mentor – Abhishek Asthana Jun 25 '15 at 14:29
4

If you're looking for a free and open-source performance testing tool I would recommend going for one of the following:

They're more or less equal in their load testing capabilities when it comes to web applications, however they differ, i.e.

  • You need to know Python if you use Grinder
  • Gatling offers easy-readable DSL for test scenarios development and customization is done with Scala
  • Tsung can generate more load given the same hardware but it doesn't provide any GUI and works on Linux and Unix only
  • JMeter development is done through a Tree of Components in GUI, and there is a DSL if you want code and no GUI. Customization of scripts can be done through any language providing JSR223 bridge (Groovy, Scala, Java, JRuby...).

So if you're new to performance testing domain I would recommend Apache JMeter. However you're welcome to check out:

UBIK LOAD PACK
  • 33,980
  • 5
  • 71
  • 116
Dmitri T
  • 159,985
  • 5
  • 83
  • 133
  • *Gatling ... however it does not scale* Can you please point me to further reading about Gatling's scale problems? I was under the impression that the whole Akka actors being lightweight thing allows it to scale better than JMeter. – RaGe Jun 23 '15 at 15:42
  • 1
    > Gatling doesn’t have a cluster mode yet, but you can achieve similar results manually http://gatling.io/docs/2.1.6/cookbook/scaling_out.html – Dmitri T Jun 23 '15 at 16:20
  • Of the open source alternatives, I like Grinder or Gatling better than Jmeter because while Jmeter is very powerful, it is also complex and a bit of a pain to configure. But it all depends on your needs. A new alternative that also looks to be very nice is Locust - http://locust.io – Ragnar Jun 24 '15 at 08:25
  • I wouldn't say that the main con of Gatling is that "it does not scale" :-) – UBIK LOAD PACK Jun 24 '15 at 20:04
2

jMeter is the good answer here, as it is free, you can easily record some scenarios if you never worked with tools like that and if thinking about load tests for 1k threads (users) or so it's still quite easy to do, you just need to go with remote testing (link here).

And something about tips and tricks, that is really helpful when you go through some tutorials, write some tests and then you will see that it is not exactly as you wanted.

Faflok
  • 1,133
  • 2
  • 13
  • 22