Slow loading speed when using loadrule file.
Marian Marinov (11●1●1)
| asked Jul 03 '17, 4:58 a.m.
edited Jul 05 '17, 2:33 p.m. by David Lafreniere (4.8k●7) Hello,
We have huge problems with the speed of loading a workspace when using a loadrule file. If we are not using loadrule file the load speed is normal, but when we try with the loadrule it takes about 10minutes(sometimes more) only at one step "Checking load completion conditions".
Can you help me find out what could be the reason of such big delay. After this delay of aobut 10minutes the speed of loading is the same as without loadrule file(about 5 minutes at most).
Thank you.
showing 5 of 8
show 3 more comments
|
One answer
<style type="text/css"> &amp;amp;amp;amp;amp;amp;amp;lt;!--td {border: 1px solid #ccc;}br {mso-data-placement:same-cell;}--&amp;amp;amp;amp;amp;amp;amp;gt; </style> I don't see a reason for hierarchical components impacting the load time. However, it would be better to identify their impact. I would suggest you to test this by flattening the entire workspace in a repository workspace and try loading it again. After you are done, you can discard the component hierarchy changes to ensure that they are not accidentally delivered straight to the stream. Also, consider Load Testing of the Service. |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.
Comments
can you give some more hints on the size of the WS? number of components? overall size on disc? Do you use hierarchical components? RTC Version?
The RTC Version we are using is 6.0.2. The components in the stream are about 200. The size of the whole stream is about 11GB. We have several loadrule files some of them are getting about 100mb others about 230mb. The tests I'm making are with loadrule that gets about 100mb(2200 files).
Hierarchical components should not impact the load time; although it would be nice to confirm this. Can you test this by flattening the entire workspace in a repository workspace and then try loading? When done you can discard the component hierarchy changes so that they are not accidentally delivered to the stream.
Also, can you describe exactly how you would manually load without the load rule? And is there any chance you can attach/post a snippet of how the load rule looks? I'm wondering if when you manually load, you select a root folder or component for example, so that it loads everything into one 'share root' folder, whereas when the load rule is used, it loads every sibling file/folder as a separate 'share root'.
David do you have information what exactly "Checking load completion conditions" means? This step is really short when not using loadrule file and it takes ages if we use loadrule files. Maybe we could somehow modify the loadrule file to make it faster. In addition the loadrule file is about 3000lines long together with all the comments.
"Checking load completion conditions" is an Eclipse job that the scm code runs before fetching the actual content; it evaluates the load request (ex: to confirm there is no overlap in terms of existing sandboxes or shares on disk), I would say the length of time this takes would be proportional to the number of shares ('parent' files or folders being loaded). That is why I was trying to get exact details on how you load (to make sure we are comparing apples to apples in a sense). Ex: In a hypothetical example, if 'folderA' had 50 child files and 50 child empty folders, and you used a
<parentLoadRule> to load folderA, this ends up creating 100 'share roots' in the sandbox, whereas if you went to the Load Wizard and selected folderA to be loaded, it would end up with 1 share root in the sandbox (folderA itself). This 'might' be related to your situation, but you would have to figure this out.
Also, could you try getting Metronome data when loading during the two different cases.
Here is how to turn that on:
https://jazz.net/help-dev/clm/index.jsp?topic=%2Fcom.ibm.team.concert.doc%2Ftopics%2Ft_metronome.html
When ready open it and open the "Services" tab and hit the "Reset" button, then quickly load without load rules, then copy the data. Then unload/clean-up, hit "Reset" again (which is very important to do) and load using load rules. This might indicate that one case is doing more server hits than the other.
Using Metronome I have found that the ping to the JAZZ server is about 200ms and it seems that this causes the issue and the time for scm command to execute is the biggest within the statistics, because there are a lot of requests to the server(the checks you mentioned) caused by the loadrule file.