how to compare 2 load test results in grafana - jmeter

I have been analyzing load test results in grafana and wanted to compare two different load test results using grafana.Is there any way to do so apart from opening two different load test results of grafana in different tabs of browser?

Related

Is there a way to get only required transactions in Jmeter Summary report

I am new to jmeter and I have couple of questions. Can someone help me out
I am using master-slave architecture ( master and 4 slaves) for 4000 user load, In which machine will I get the consolidated results for the complete load.
I have configured the summary report for results, but how can we get the report only for required transactions and not all from end to end].
It's not exactly what you are looking for, but one option is to generate the HTML report that will be configured to include the transactions of interest. This is done by updating the user.properties file for the following properties:
# This property is used by menu item "Export transactions for report"
# It is used to select which transactions by default will be exported
#jmeter.reportgenerator.exported_transactions_pattern=[a-zA-Z0-9_\\-{}\\$\\.]*[-_][0-9]*
You can use the Transaction ControllerTransaction Controller to get consolidated time taken by the nested elements. Add a Transaction Controller as a parent element and set the flag Generate Parent Sample to get the overall time without the details of the nested elements.
By default JMeter stores all Samplers execution metrics into the .jtl results file
If you're not interested in some of the results you can remove them using Filter Results Tool (doesn't come with JMeter, needs to be installed using JMeter Plugins Manager)

Showing multiple metrics with conditions and calculation in visualize tool in Kibana

I want to create a table in the Visualize tool in Kibana where I show several metrics with condition and calculcation. I have created a generic example in excel, see below. I know the basics. On how to produce the first two columns, be the other ones are harder. I tried looking into adding JSON input with adding another Count and adding a script, but i dont get it to work unfortunately. Any ideas?

Response over time graph becomes very congested for larger number of URLs

I am using this https://jmeter-plugins.org/wiki/ResponseTimesOverTime/ plugin.
I already have a .jtl file, I need to browse this .jtl file into the graph plugin and it would display results.
The .jtl file consists of approx ~ 1500 unique URLs and so graph looks so congested that nothing is visible.
Is there an alternative Response over Time graph? or
I can use the same plugin correctly?
I am not aware of any existing plugin which can smoothly display 1500 lines with legend on a single chart. Theoretically you can try out HTML Reporting Dashboard which provides:
Zoomable chart where you can check/uncheck every transaction to show/hide it for:
Response times Over Time (Includes Transaction Controller Sample Results)
But I strongly doubt it will be a good solution for such a number of unique sample results.
So I would recommend decreasing the number of URLs in your report, you can group them using Transaction Controller and name the controller accordingly so you could distinguish the URL groups
Another option is plotting only those URLs which response time(s) is relatively high, you can get the numbers from Aggregate Listeners which display statistics only.
Once you have a list of URLs which you want to plot you can use Filter Results Tool to create a smaller .jtl file with only "interesting" data.

Visual Studio Load Test - Using Data Source with Multiple Agents

I'm using Visual Studio 2015 Load Test and running a Web Performance test that has a data source connected. The data source contains user login information for 250 users.
Running this in sequential order on a single agent works fine. However, I'm attempting to add in 10 test agents to share out the load. By design the Load Test copies the data source to each agent and it runs the test. What ends up happening is that all 10 agents start the test using the row 1 user from the data source. I'm hoping there's away to set up the Load Test to run sequentially across all agents (ex: Agent 1 uses row 1, Agent 2 uses row 2, Agent 3 uses row 3, etc...)
I suspect there's not an option to set this up, but wondered if anyone ran into this and had workarounds to offer. I did find this info via http://vsptqrg.codeplex.com
Multiple machines running as a rig
Sequential – This works that same as if you are on one machine. Each agent receives a full copy of the data and each starts with row 1 in the data source. Then each agent will run through each row in the data source and continue looping until the load test completes.
Random – This also works the same as if you run the test on one machine. Each agent will receive a full copy of the data source and randomly select rows.
Unique – This one works a little differently. Each row in the data source will be used once. So if you have 3 agents, the data will be spread across the 3 agents and no row will be used more than once. As with one machine, once every row is used, the web test will stop executing.
You Can Split the Data set/CSV and distribute to each Agent, i.e in your case "25 data set"/agent and execute the test.
Each Agent can use their own Data set/CSV.
CSV Split: http://monchito.com/blog/autosplit-csv
The nearest you can get to what you want is to use the unique setting. However each data source row will only be used once, then the test will stop. With a data source containing 250 line only 250 test executions will take place. I do not know the exact distribution of data source rows to agents when unique is specified.
If more than one execution per data source row is wanted then another approach is to have one data source column per agent. Use the agent_id to select the column. Use the sequential data source access. A variation is to just have one set of data in the data source but append the agent_id to some of the values in the data sources. This answer has some variations on these ideas and some code.
Another possibility is to use the MoveDataTableCursor method to set a specific row for each test execution. This could be called in a PreWebTest method of a WebTestPlugin. The code would use the context parameters $AgentId and $WebTestIteration. The call would be based the following:
MoveDataTableCursor(..., ..., $AgentId * NumberOfAgents + $WebTestIteration);
Notes:
The values of $AgentId and $WebTestIteration from the context are strings, they would need to be converted to numbers to do the multiply and add.
Would also need to check whether the two values are zero-based or one-based.
The documentation for MoveDataTableCursor is not very informative

Exporting time series response data for VS2013 load tests

I am trying to figure out how to export and then analyze the results of a load test, but after the test is over it seems I cannot find the data for each individual request by url. This data shows during the load test itself, but after it is over it seems as if that data is no longer accessible and all I can find are totals. The data that I want is under the "Page response time" graph on the graphs window during the test. I know this is not the response time for every single request and is probably averaged, but that would suffice for the calculations I want to make.
I have looked in the database on my local machine (LoadTest2010, where all of the summary data is stored) and I cannot find the data I'm looking for. I am load testing a single page application, fyi.
My goal is to plot (probably in excel) each request url against the user load and analyze the slope of the response time averages to determine which requests scale the worst (and best). During the load test I can see this data and get a visual idea but when it ends I cannot seem to find it to export.
A) Can this data be exported from within visual studio? Is there a setting required to make VS persist this data to the database? I have, from under Run Settings, the "Results" section "Timing Details Storage" set to "All individual details" and the Storage Type set to "Database".
B) Is this data in any of the tables in the LoadTest2010 database where all of the summary data is stored? It might be easier to query manually if its not spread out overly, but all I was able to find was summary data.
I was able to find the data in the database that I wanted. The tables I needed were the WebLoadTestRequestMap (which has the request URI's in it) and the LoadTestPageDetail (which has the individual response times themselves). They can be joined on webloadtestrequestmap.requestId and loadtestpagedetail.pageId (unintuitively).
I do have the "Results" section "Timing Details Storage" set to "All individual details" and the Storage Type set to "Database", it did not seem like every load tests results were available, maybe because of this setting.
More data on the layout of the load test database here: http://blogs.msdn.com/b/slumley/archive/2010/02/12/description-of-tables-and-columns-in-vs-2010-load-test-database.aspx

Resources