London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Build index performance issue

Vote:
 

On our qa server there is a problem with index build via Commerce Manager. After starting its progress freezes at 0 % and only after significant amout of time (about 1 hour) progress starts updating and build index completes without any errors.

http://www.screencast.com/t/VeAx3cBV

Logs does not contain any errors. 

Index rebuild works fine. Its progress starts immediately.

Should I make some additional configuration in Commerce Manager?

#174634
Feb 01, 2017 10:12
Vote:
 

Hi,

It seems that you can benefit from this blogpost: http://vimvq1987.com/2017/01/speed-catalog-entries-indexing/

Yes, it's mine :)

Regards,

/Q

#174636
Edited, Feb 01, 2017 10:42
Vote:
 

Thank you for the link. I've added unclustered index to ApplicationLog table as you described in the blog but it does not help. Build index still freezes at 0%.

#174653
Feb 01, 2017 14:53
Vote:
 

How many rows do you have in ApplicationLog table?

Can you profile the site during the indexing? Which action takes the most of time? 

#174654
Feb 01, 2017 14:57
Vote:
 

ApplicationLog table contains ~ 1300000 records (after adding index it takes 52 seconds to get all records for this table). Concerning profiling I need some time to setup and run it.

#174659
Feb 01, 2017 15:59
Vote:
 

I've profiled application and it seems that problem is still with ApplicationLog table. As build index is running it selects 100 records per query sequentially and each such request takes about 2 seconds. So for table with 1 million records it will take about 10000 * 2 seconds ~ 6 hours to complete. Adding non-clustered index did not help a lot.

http://www.screencast.com/t/ffJvJrDE

#175377
Edited, Feb 17, 2017 12:31
Vote:
 

OK now I see your problem. The most taking time operation for you was to remove the deleted entries - it will try to get the deleted entries from Application and remove those from the index. It's a different problem in my blogpost as that index is for ecf_CatalogEntrySearch_Init - which to build up the list of modified entries. The index was for ecf_CatalogEntrySearch_Init, it does not help ecf_ApplicationLog because that SP needs a lot of columns in the result. Also, you have a lot of deleted entries since the last build, which is a bit unusual I would say.

So the solution can be: Instead of building index incrementally, you can try to reindex, which will not query ApplicationLog at all for deleted entries.

#175378
Feb 17, 2017 12:54
Vote:
 

I've realized that ApplicationLog contains a lot of old data. After removing this old data build index started working quite fast (less than 1 minute). Thank you Quan Mai!

#175431
Feb 20, 2017 10:45
Vote:
 

We decided to fix this issue. The fix is under review, but for my testing, removing 5400 deleted entries index, with 43k rows in ApplicationLog is almost instantaneous - so I think it will bring quite an improvement to your case. Stay tuned. 

#178172
May 03, 2017 15:18
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.