I am working on quite a large qlikview document, and after going through each object/sheet (and fine tuning each expression, etc.) on the local .qvw file as much as possible... I started to wonder what else might be causing these reports on access point to take forever...
I happened to come across the Documents > Server Objects tab on QMC... and realized there are at least 5,000 server objects...
Does anyone know if this is considered way too many? or average?
I assume having all these objects will affect the performance... but some of them are like just a simple button or text box, etc... so I'm not really sure if deleting them will even help that much? (There are a lot of other objects, but I just wanted to make a note about the simple objects in case someone can confirm that these shouldn't really do anything to performance).
Anyone have experience with this? How much of an affect do you think removing ALL of those objects would have? I just want to get an idea on if it's worth going through each server object and either keeping/deleting them (it would take me quite a long time to go through all 5,000+ of them).
In the earlier days large shared-files (is the place where the server-objects are stored) tends to instable applications and had AFAIK a negative effect on the performance - whereby I couldn't say how much. Nowadays the newer Tshared-files should be much more stable and performant. So it may depend on the used release and/or settings - AFAIK it could be configured which type is used.
Beside this you may just test it - just copy the application (maybe with an access just for you or only certain users) and they will get a new shared-file and you could test if they behaved differently.
For the future you may consider to restrict the permission which users could create a server-object to avoid that a few playful users clutter the application ...
Thanks for the response Marcus,
How do I configure which type is used? Or where do I check to see what it's currently using?
I have thought about restricting permission, but it's sort of too late for that (since there's already >5k+ objects). I am planning on doing this after I determine if all these objects are a decent part of the performance problem.
By 'copy the application', do you mean just copy the .qvw and have it display as a separate document on access point? also, if a document is currently hidden on access point, but still has a lot of shared objects, does that affect the performance of the server? I'm asking because there is a separate .qvw file in the system that isn't showing or being used on access point, but it has an additional 1,000+ server objects in it (when checking in QMC)... basically does having a ton of server objects even if the document isn't in use create performance issues?
Which type is used could you see within the folder where the applications are. Each application has probably multiple files like: qvwName.qvw and with this as prefix *.log, *.meta, *.Tshared. For adjusting the settings see:
If you direct copies a qvw all above mentioned extra files didn't exists and are later automatically created if the script runs or the services detect the new file - means also the shared-file will be then there but empty. With this file you could check the performance of application. If they is further slow the application itself may have a rather unsuitable datamodel and/or UI. If they is significantly faster you know that the server-objects slowdown the application. Depending on the kind of authentication within your environment you may by NT authentication move the application on a folder where no normal user has access or directly adjusting the access rights of the file or by a Custom authentication nobody has an access unless you specify it explicitly within the qmc.
Within the qmc by the documents you could specify which authentication type could create server-objects and then defining the appropriate ones. We allow it only for NamedCAL and applying there certain power-users. Bookmarks are a specially kind of server-object and aren't restricted by this setting (unless they are also disabled within the document properties of the application).
Beside all this it's quite likely that 99% of all server-objects aren't critical even if it are thousands but the other 1% may impact the performance quite heavily because one or two of object-parts are invalid and/or the objects are badly designed.
I'll try to test this out and let you know the outcome. I do have a feeling there are probably some really poorly designed server objects that users have created.
Is there a way to export a list of Server Objects along with the 'Owner' who created the objects? I can view them on QMC, but I don't know if there's a way to export the list or not.
Did you try to get a look on them with the above mentioned shared-file viewer from the powertools? If I remember correctly there was an option to export the content as xml-file. If this is further available you could read the xml-file with QlikView again. If not you could also try to load the file as a normal text-file because most of the information there is in clear-text - but you will need some investigation how to detect the right / wanted information to filter / to flag them appropriate (maybe not with your origin application else some dummy - nearly empty with just a few simple bookmarks / objects with two different users to keep the job as simple as possible).