-2

Modern browsers use different amount of connections per server like described here. It's quite usual that there is well over 100 recources to download in modern web pages. Especially when the servers are located far away from end user, this can cause big performance problems.

I've had bad experiences with load testing tools (LoadRunner and JMeter) because those tools doesn't seem to simulate modern web browsers correctly. I know there is "Use concurrent pool" setting in JMeter and you can simulate different browsers in LR, but what is your experience, are those really working like they should? According to this blog post at least JMeter has some problems.

I know that the main purpose of these load testing tools (LR, JMeter) is to test server side but I think this is still a quite big issue.

Community
  • 1
  • 1
PEngineer
  • 29
  • 2
  • 6
  • First of all, Jmeter/loadrunner is not chrome(from blog comparison), it's behavior should be like as standard browser(may not be modern) which can be run-able in parallel. So, when you are loading resources, you should not only care about resource pool, you should also know how it works. It's just http request simulator which simulate request it will be change ->based on environment constrains ->Based on implementation (you should see this part, if jmeter/loadrunner code is same to same chrome request processing, it will work same) – Shantonu Feb 05 '15 at 22:07
  • People has some miss conception for load testing that, if we change user agent it will simulate separate browser, it will not. It will change downloadable resources from browser(will tell server that this particular browser is running). So, any load test tool will not perform same as browser unless their implementation is same. My Opinion : Load test tools are made for measuring load in server not doing exact browser like behavior. If it does, it will be perfect system for load testing which actually simulates real browser. – Shantonu Feb 05 '15 at 22:11

3 Answers3

5

I cannot say about JMeter but in LoadRunner we simulate the number of concurrent connection as closely as possible to the selected browser. You can see the maximum number of cocurrent connections that were used in the replay log of your run, for example:

Maximum number of concurrent connections per server: 6 [MsgId: MMSG-26000]

We have some presets which are affected by the user agent you selected but this number of cuncurrent connections is updated during recording (i.e. recording will analyze the number of actual concurrent connection you used and change the preset value).

If this is not enough for you, you can manually change the number of concurrent allowed connections by using the following steps:

web_set_sockets_option(“MAX_CONNECTIONS_PER_HOST”,”10”); web_set_sockets_option(“MAX_TOTAL_CONNECTIONS “,”60”);

Hope this helps.

Buzzy
  • 2,905
  • 3
  • 22
  • 31
  • Thanks Buzzy for the help. Was looking for how to change these!! Just FYI on version 11.52 Patch 1 - Action.c(4): Error -27762: Invalid value (60) specified for MAX_TOTAL_CONNECTIONS: Must be between between 1 and 50 [MsgId: MERR-27762] – KisnardOnline Oct 21 '15 at 20:48
0

JMeter works the way that it's authors think it should. Over the years, we've encountered serious problems with the accuracy of JMeter when we've tried to compare it to our own load testing tool. Most recently, we tried to compare page load times from JMeter and were frustrated with the difficulty of getting accurate or consistent results. We are a competitor, so take that for what its worth.

CMerrill
  • 1,857
  • 1
  • 14
  • 16
0

Perhaps How to make JMeter behave more like a real browser guide can give you some clue.

I would also suggest using HTTP Request Defaults config element and especially Embedded URLs must match input to filter out any external embedded resources.

Dmitri T
  • 159,985
  • 5
  • 83
  • 133