I have created a plugin (type=job) that loads data and then creates pages. Around 3000 pages are created and performance on our production server is much slower than while developing with the SDK.
The actual code to create the pages is pretty straightforward:
overviewPage = new Page(); overviewPage.setTitle(getPageOverviewTitle()); overviewPage.setSpace(space); overviewPage.setParentPage(homePage); overviewPage.setBodyAsString(getOverviewPageAsString()); homePage.addChild(overviewPage); pageManager.saveContentEntity(overviewPage, null);
Creating a page takes around 15 milliseconds but over 2000 milliseconds on our production server. Enabling profiling gives the following in the logs:
2012-06-11 15:27:59,048 DEBUG [scheduler_Worker-5] [atlassian.util.profiling.UtilTimerStack] log [2842ms] - ContentEntityManager.saveContentEntity() [0ms] - UserAccessor.getPropertySet() [0ms] - UserAccessor.getUserProfilePicture() [0ms] - UserAccessor.getUserProfilePicture() [656ms] - NotificationManager.getNotificationsBySpaceAndType() [689ms] - NotificationManager.getNotificationsByPage() [5ms] - LinkManager.updateOutgoingLinks()
Is there any reason why so much time is spent on the methods called by the NotificationManager?
I guess this is pretty vague, but any help would be appreciated. Thanks.
Do you really want to notify your users that you just created 3000 pages ? R K above is right.
Your answer is here:
Minor edits indicate that notifications should not be sent out informing users of changes made to the page.
Badges are a great way to show off community activity, whether you’re a newbie or a Champion.Learn more
Any other country that celebrates Midsummer holiday (this friday 22 June)?
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs