могу посоветовать следующее:
1. включить весь кеш на сайте. в core - кеширование.
1.1. Поиграться с настройкой cache_alias_map
1.2. выключить use_context_resource_table.
2. в msProduct есть параметр select, в нем можно указать нужные поля для вывода.
2.1. Пример: &select=
{ "msProduct" : "id,parent,pagetitle","Data" : "price","Vendor",""}
2.2. Потому что уменьшение кол-ва полей, возможно ускорит ответ БД ну и вес массивов в кеше Сайта.
3. для большого кол-ва товаров использовать выделеный сервер с высокой тактовой частотой процессора.
На шаредах не всегда такое.