When the catalog are updating products via our inriver connector, it takes between 6-10 seconds to update 1 product from Pim -> Commerce.
It looks like the database runs the stored procedure ecfVersionCatalog_Save for each update. This SQL takes 4-6 seconds to run.
What is ecfVersionCatalog_Save? And is there anyway to speed this operation up?
Our product integration runs pretty much 24/7, the Message Queue on the inRiver server is therefore pretty much neverending so it takes ages to update our product catalog from Erp -> Pim -> Commerce.
We are running the following versions
inRiver 6.3 SP2
I have tried , but this is not improving the performance.
Anyone have any experience with poor performance when updating catalog entries, and how to improve it?
Seems like the problem lies within the Commerce part of the integration.
2018-01-10 15:24:34,727 DEBUG Mediachase.Commerce.Catalog.ImportExport.CatalogImportExport.OnImportExportProgressMessage - Starting import... 2018-01-10 15:24:34,738 DEBUG Mediachase.Commerce.Catalog.ImportExport.CatalogImportExport.OnImportExportProgressMessage - Start importing catalog properties 2018-01-10 15:24:36,724 DEBUG inRiver.EPiServerCommerce.Nine.Importer.InriverDataImportController.IsImporting - IsImporting 2018-01-10 15:24:38,120 DEBUG Mediachase.Commerce.Catalog.ImportExport.CatalogImportExport.OnImportExportProgressMessage - Importing catalog Web 2018-01-10 15:24:38,130 DEBUG Mediachase.Commerce.Catalog.ImportExport.CatalogImportExport.OnImportExportProgressMessage - Finished importing catalog properties 2018-01-10 15:24:38,141 DEBUG Mediachase.Commerce.Catalog.ImportExport.CatalogImportExport.OnImportExportProgressMessage - Start importing catalog entries 2018-01-10 15:24:38,367 DEBUG Mediachase.Commerce.Catalog.ImportExport.CatalogImportExport.OnImportExportProgressMessage - Finished importing catalog entries 2018-01-10 15:24:38,377 DEBUG Mediachase.Commerce.Catalog.ImportExport.CatalogImportExport.OnImportExportProgressMessage - Imported catalog Web 2018-01-10 15:24:38,387 DEBUG Mediachase.Commerce.Catalog.ImportExport.CatalogImportExport.OnImportExportProgressMessage - Import successfully finished. 2018-01-10 15:24:38,396 DEBUG inRiver.EPiServerCommerce.Nine.Importer.InriverDataImportController.ImportCatalogXmlWithHandlers - Postimport handler: xx.web.Business.PIM.PimPostImportHandler 2018-01-10 15:24:38,765 DEBUG inRiver.EPiServerCommerce.Nine.Importer.InriverDataImportController.IsImporting - IsImporting 2018-01-10 15:24:40,792 DEBUG inRiver.EPiServerCommerce.Nine.Importer.InriverDataImportController.IsImporting - IsImporting 2018-01-10 15:24:40,853 DEBUG inRiver.EPiServerCommerce.Nine.Importer.InriverDataImportController.ImportUpdateCompleted - *** ImportUpdateCompleted events with parameters CatalogName=Web, EventType=EntityUpdated, ResourcesIncluded=False
15:24:34 - Debug EntityUpdated received from server15:24:34 - Verbose Action = EntityUpdated Message Body : EntityUpdated3989ItemSearchTags15:24:34 - Debug ChannelEntityUpdate received from server15:24:34 - Verbose Action = ChannelEntityUpdate Message Body : ChannelEntityUpdate22993989ItemSearchTags15:24:34 - Debug ChannelEntityUpdate sent to connector: EpiAdapter15:24:34 - Debug Received entity update for entity 3989 in channel 229915:24:34 - Debug EpiAdapter: Received entity update for entity 3989 in channel 229915:24:34 - Debug Updated entity found. Type: Item, id: 398915:24:34 - Information Saving verified document to path ......\inRiver\Publish\Epi\20180110-152434.621\Catalog.xml for channel: Web15:24:34 - Debug Starting automatic import!15:24:34 - Debug Posting to ...../inriverapi/InriverDataImport/ImportCatalogXml15:24:40 - Debug Import catalog returned: Import Sucessful15:24:40 - Debug Posting to ....../inriverapi/InriverDataImport/ImportUpdateCompleted15:24:40 - Debug ImportUpdateCompleted returned: true15:24:40 - Information Update done for channel 2299, took 00:00:06!15:24:40 - Debug EpiAdapter: ChannelEntityUpdated complete
I would suggest you to contact Episerver developer support service, in such performance cases like this we would need to look into your database and do some profiling to find out the bottleneck.
Upgrading to a later version (11.x recommended) is a good step too. it might not solve this specific issue, but it can improve your website performance in general.
I have a few minutes to spare to look into this, and I think I found the answer for your question. In this case you are asking for ecfVersionCatalog_Save specifically, and indeed you have to upgrade to at least 10.7.0 to get it fixed. I however recommend to go with 11.7.1 which will be released soon-ish.
The longer explanation is that this SP is called when you update the catalog, and it will update every row in ecfVersion to make sure that all versions will have proper language setting - because the catalog language settings will affect any and every catalog items inside that catalog. Yes that is not the best/fastest way, and we did improve it in 10.7.0 and we even improve it further in 11.7.1. So your best bet is to upgrade.