PublishStatuses should be the right way to do it and we haven't noticed any performance degradation regarding that change. As always you should use dotTrace or some other profiler to find out which code is slow and we will continue from there.
Okey, good to hear that the PublishStatuses shouldn't be an issue. I can also mention that we are upgrading from version commerce version 11.8.3 and service api version 4.2.1. Any other big things that has happend between the versions that can affect the performance?
It is only the calls to the service api that has increased (it is called from another application), but I guess that doing some kind of profiling should be the next step.
So I made a test by only running parts of the update procedure (uses /episerverapi/commerce/nodes) and the time difference between the versions is significant:
The update procedure uses the exact same base data and updates the same amount of categories.
I'm currently working with a site where we have upgraded to the latest version of commerce (13.15) and service api (5.4.2). We are using the catalog service api to update the catalog with categories, products, variations etc. However, after the upgrade, the work of doing all the updates takes forever and as it is now, we cannot ship this to production.
The only change we have done in the catalog update job is that we have implemented "PublishStatuses" instead of using "Epi_IsPublished". Could this be the reason for the job now taking so long time to run?