当前位置: 动力学知识库 > 问答 > 编程问答 >

performance - Complex Xpage takes long for partial refreshs

问题描述:

I have a complex xpage with lots of nested custom controls. Everytime I execute a partial refresh it takes over 4 seconds to finish. If I remove the complexity it works just fine and is fast as wished.

I put a test on this complex Xpage and even with partial execution mode this simple test takes over 4 seconds to finish.

<xp:button value="Label" id="button1">

<xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="refreshPanel" disableValidators="true" execMode="partial" execId="inputText1">

</xp:eventHandler>

</xp:button>

<xp:div id="refreshPanel">

<xp:inputText id="inputText1"></xp:inputText>

</xp:div>

execution time of partialrefresh

Does anyone have a hint on this? Any server settings which can be adjusted?

网友答案:

There's a few little tweaks you can make to help speed things up (in general) however I'm not sure how they would help with a single complex page, but.....

  • Change the server page persistence setting to keep the current page in memory
  • Minimize the use of SSJS
  • Partial Execution mode (which Knut has already mentioned)
  • Support Concurrent User Load
  • Keep the Maxheap size at ¼ of the available RAM
  • For your XSP properties, enable “Use run-time optimized java script and CSS resources”
  • Set your value bindings so they compute on the page load.

All of the above are tips/recommendations I've read from other developers over the years and I implement/try to implement myself where possible so might be worth trying some/all to see if it helps?

网友答案:

Even though it is a partial refresh all XPage controls' values are submitted to server. "partial" means in this case that only the label1 part returns to client. But it is a full submit and this might take time...

You can submit partially though. Add

execMode="partial" execId="button1"

to your eventHandler properties. This time only the execId's value gets submitted. Put in execId the id that needs to be submitted (maybe a panel) for this partial refresh.

Have a look here for more information on partial execution mode .

分享给朋友:
您可能感兴趣的文章:
随机阅读: