Здравствуйте. Виртуалки не дешевые, и мы стараемся постоянно мигрировать все сервера на максимально доступные на рынке процессоры. Относительно фильтров проблема усугубляется либо софтовыми ошибками, либо тем что выборка осуществляется в 1 поток ядра, и если вы в этот момент фильтруете без индексов 120к товаров да ещё по дополнительным полям, у вас запрос занимает громадное количество времени. Чудес не бывает, и перебрать 2-3млн записей 1 ядра физически сделать не может. Перенос на физический сервер не сильно изменит картинку, опять же ваш подход относительно кеша в принципе корректен, но есть ряд нюансов которые уже выходят за грани этого дискуса. Мы со своей стороны пытаемся это оптимизировать и репортить разработчикам о такого рода проблемах, но изначально сам CS-Cart позиционируется на небольших магазинах, и не удивительно что при таком количестве товаров возникают свои нюансы.