Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Daniel_Larsson
Employee
Employee

Qlik Sense Scalability Tools

This package (referred to as Qlik Sense Scalability Tools) contains a complete set of tools for easy creation, execution and analysis of load/performance tests.

This tool is now deprecated and will not receive any further updates, please use the Qlik Sense Enterprise Scalability Tools instead.

Supported versions of Qlik Sense: all 2020, all 2021, 2022-aug

 

Included parts are:

  • Standalone application for creating and executing a simulation script
  • Documentation on how to use the package
  • Regression analyzer
  • Benchmarking package
  • App evaluator package


QlikView and Qlik Sense documents to help analyze result and log files (previously included in this package) can be found here :https://community.qlik.com/docs/DOC-15451

 

Troubleshooting

For help to troubleshoot connection problems, please review Appendix A of the documentation or Connection Troubleshooting Tips

 

Change log

v5.17.0

  • Add support for Qlik Sense May 2022 release
  • Add support for Qlik Sense Aug 2022 release

v5.16.0

  • Add support for Qlik Sense Feb 2022 release

v5.15.0

  •  Add support for Qlik Sense Nov 2021 release

v5.14.0

  • Add support for Qlik Sense Aug 2021 release

(See Readme.txt for changes in earlier versions of the tool.)

 

Your use of Qlik Sense Scalability Tool will be subject to the same license agreement between you and Qlik for your Qlik Sense License. Qlik does not provide maintenance and support services for the Qlik Sense Scalability Tool, however please check QlikCommunity for additional information on use of these products.

Labels (2)
199 Replies
Not applicable

Hello Daniel,

    I downloaded the Qliksense scalability tool , and installed it on the development server which is a standalone box. We have server setup with the proxy .Is this the information that needs to be used while using the tool or do we setup a separate proxy for testing ? As , when I try to connect to the app using Appstructure Connect to App, I get an error saying Failed to connect to app.We are using Qliksense 2.0.3 version.

Daniel_Larsson
Employee
Employee
Author

I have don't understand completely how your machines are setup, but I think I understand it as you have a machine which is not included in the test and want to test against a different server, correct? In that case so far so good since running the tool and sense on the same server might have them contend for resources, thus affecting the test.

When you get a connect fail it is usually a settings problem.Some things to verify

  1. Does the the user simulated have access to the app? If you are using header auth, make sure the virtualproxyprefix and the headername are set to the ones you defined in the qmc. Also test a header user manually using e.g. modify headers plugin in firefox, fiddler or similar. For different header users to be able to connect the app must be published.
  2. Make sure what you put in "server" is the hostname only, shortname is fine  if the machines are on the same domain, otherwise fully qualified named
  3. If you use ssl unchecked, make sure you have enabled "allow http" in the proxy setting in the qmc.
  4. If above two fails, try accessing with NTLM, (removing the virtualproxyprefix or changing to the one where you have NTLM auth).
Not applicable

Thank you Daniel for responding back.

I followed the steps to setup the header authentication in QMC, and while I am testing the virtual proxy using Mozilla I get an error saying"Could not authenticate the request .Expected Authentication header" even after adding the header.

Sebastian_Fredenberg

Hi,

It sounds like the the header is not enabled in your browser, or the plugin itself is not running. With modify header plugin, the enabled headers are displayed with a green dot.The plugin icon should be red and read "Stop" if it is running. See below:modheaderCapture.JPG

Not applicable

Thank you Sebastian.

Changing the Connection type to NTLM did the trick.

Daniel_Larsson
Employee
Employee
Author

So this means the settings for header auth where not correctly setup either in tool (virtualproxyprefix etc) or in qmc.

Be aware that if you do simulate using the NTLM option, all users will connect to the proxy using the same user as the one running the tool. This means from proxy perspective and license handling, auth etc everything will be handle as this user. From engine perspective the tool will make sure to use independent session which does not affect each other however. Thus running multiple users with the NTLM setting would not make a big difference for exercising the engine, but it will make a difference in how repository and proxy is exercised. This is why header auth is recommended during the load test.

That said, it still might be enough for you depending on you purpose.

mountaindude
Partner Ambassador
Partner Ambassador

Having issues similar to the above ones, getting a "Failed to get app structure: Failed to to connect to app. Error: Failed to connect to application" when doing an "App strcture... Connect to app".

Have tried both header auth and NTLM. No luck getting the app structure.

The interesting part however is that if I have a single "Clear all" in the script, it runs just fine without errors... But when adding a "select" to the script, I of course need to tell what field I want a selection made in, and for that to work we need info on app structure - which consistently fails.

For example, here is the execution log for a simple script that has a single action "ClearAll" (URL has been changed below).

Starting test towards Uri: wss://<my URL>/loadtest

05:40:37 Workers:0 Errors:0 Warnings:0 Requests:0

Test Execution Finished.

WarningCount: 0

ErrorCount: 0

Finishing writing logs...

The script looks like this:

loadtest_1.jpg

Have tried connecting using custom headers in Firefox, works fine.

The requirement talks of .Net 4.5.2 requirement. I am on Windows Server 2012 R2, .net 4.6.1.

Could that be it?

Been looking through the Sense log files without finding any real info on what's happening when the App structure request fails.

Ideas?

Please mark the post as a solution if it provided you with a solution to the topic at hand. Thanks!
Daniel_Larsson
Employee
Employee
Author

Hi,

.Net 4.6.1 should be 4.5.2 compatible so this should no be the issue.

In worst case scenario, there are some other ways to get the id's, but those are more cumbersome, so first:

Some users have had problem running from network share or having to long paths. I doubt this is the case here, but try putting it locally on the load client with a short path.

I see you use SSL (which actually mean TLS, name is legacy), is it a non self-signed certificate (i.e. you get the green icon in browser), if not, did you get the certificate to the load client according to documentation? If you have the possibility to check "Allow http" in the proxy, can you try to do that and deselect SSL checkbox.

There might be some info on the connect error in the GUI log file, this file is located in the {Tool Root}\Logs folder. Although since your clearAll script works I doubt this would give us much information.

Some other ways to get the id's:

1. Load the app into Qlik Sense desktop and connect to it using connectiontype personal port 4848. Then save the structure to file and use it for your script.

2. If your app contains titles (i.e. show title option checked) you can use a bookmarklet to replace the titles with the object Id’s. Such a bookmarklet can be obtained here: https://gist.github.com/mindspank/17e518f67f674c3caae5 . This will however not work pefectly with all types of filterpanes

3. Use the single configurator in dev-hub to get the id's (will not get id's for listboxes, only the filter pane container which is not the one you select in).

Some other ways that would need more explanation if these still don't work for you:

4. Get structure via command line

5. Using chrome dev tools.

mountaindude
Partner Ambassador
Partner Ambassador

Tried both with and without SSL - same result.

I have tried many variants by now, latest version is using a virtual proxy called "loadtest", linked to a proxy on ServerLab. ServerLab is also listed as the worker node in the load balancing section, so this should be a pretty local setup..

I then access http://<FQDN of ServerLab>/loadtest with custom header, and that works. The ClearAll action from within the Scalability tool also works - get App structure does not. So still the same.

Scability tools is stored in C:\utility_apps\ScalabilityTools, so no weird/long paths.
I execute the EXE from that directory while RDP:d into ServerLab.

All in all, I don't think any request ever leaves the ServerLab machine...

Oh btw, I created a small app called "Loadtest", which just includes the Ctrl-0-0 test script. Nothing fancy there thus.

I have a setup that every day dumps all metadata for all apps to a QVD, I can pull the needed IDs from there. Will give that a try.

Please mark the post as a solution if it provided you with a solution to the topic at hand. Thanks!
Daniel_Larsson
Employee
Employee
Author

Ok, not much to add, I think this is quite weird that it doesn't work, the differences between executing directly are quite few.

Just to make sure, since the behavior is very different in different environments and especially considering windows versions. In some environments it's possible to run the gui and even execute some things even though a blocked zip was used, in others it crashes directly. So can you make sure the zip was unblocked before unzipping it? If you don't remember if you did this or not, just retry unblock followed by unzip in a different location (not to mess with saved scenario etc.). Blocking of the zip is unfortunatly a windows thing and not much we can do about. If you unzipped with i.e. 7-zip it will automatically unblock for you, so in that case this is not the issue.