Job taking too long time to create new pages

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.

3 answers

[656ms] - NotificationManager.getNotificationsBySpaceAndType()
[689ms] - NotificationManager.getNotificationsByPage()
Would be the issue. Is the cache for these full? Maybe you can increase them. I would also do some SQL profiling on it.

My guess is that your production server contains different, and more, watchers or users. Which, upon creation, are all notified or checked if they need notifications. Could that be the explanation?

Do you really want to notify your users that you just created 3000 pages ? R K above is right.

Your answer is here:

com.atlassian.confluence.core.SaveContext

boolean isMinorEdit()
Minor edits indicate that notifications should not be sent out informing users of changes made to the page.

http://docs.atlassian.com/atlassian-confluence/3.1/com/atlassian/confluence/core/DefaultSaveContext.html

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Tuesday in United States

Topic Tuesday: What's your favorite topic?

Good morning All, Our goal is to get you into the habit of while enjoying your favorite morning drink you are checking the NOVA "space" for topics and comments. Your input is really needed and...

57 views 4 0
View post

Atlassian User Groups

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!

Find my local user group

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

Groups near you