Хостинг получше - не спасает!
Приведу несколько примеров.
Масса разработчиков используют запросы вида SELECT * .... даже не понимая, что делая запрос с описанными полями выборки, а потом 10 атомарных запросов для получения общих данных конструкция будет работать на несколько порядков быстрее.
Есть разработчики, которые вешают поверх систему массу своего "хлама" который хочешь не хочешь выполняется на каждой странице, там где он в принципе не нужен, переопределяя и перехватывая все функции системы и бьют себя в грудь - что это круто и правильно.
Есть разработчики, до которых годами нельзя достучаться с тем что у них косяки на примере с тем же автором мирокдаты, которому мы с марком около года ели мозг чайной ложкой, пока он признал ошибки.
99% авторов не волнует как их поделка будет работать на боевом проекте - у них на тесте заработало, а то что их код потребляет секунду времени - никого не волнует
Фильтры используют group by text - text - это текстовое поле, которому нельзя назначить индекс и заведомо это тупая конструкция и это архитектура opencart.
Seopro и масса seo модифкаторов, которые формируют наборы ссылок - используют большие коллекции пар ключ->значения, в ситуациях, когда обработка таких коллекций намного больше, чем работа без этого кеша.
Корень проблем производительности не в Opencart - а в том что, навыки и понимания большей половины авторов модулей, увы оставляют желать лучшего, и развиваться они никак не хотят. И даже в тех моментах где можно и хотелось бы исправить косяки, код под кубом - и все приплыли.
Также 2.x версия тупая наглухо из-за autoload конструкции. А учитывая, что есть любители всунуть в папку system/library какой нить свой кеш, или массивную стороннюю библиотеку - получаем кроме базовых fileseek процессов, еще и сканирование вагона инородных файлов. В итоге старт голого движка уже вываливается в полсекунды.
И пока так будет - не будет быстрых магазинов из коробки.