Сразу хочу оговориться, с php и MySql я знаком очень-очень шапочно. Попросили посмотреть, что тормозит. Что-то переписывать и переделывать под себя я категорически не желаю.
Недоумение вызвал тот факт, что достаточно простенькая страница может грузиться так долго. Еще больше недоумения, когда выяснилось, что эта страничка делает несколько сотен запросов в БД. И окончательно добил факт, что тормозят эти счетчики еще с 1-ой версии OpenCart. Сейчас уже третья, а воз и ныне там.
Я может чего не понимаю, но такие вещи должны работать "из коробки", безо всяких настроек, допиливаний и кэширований, тем более проблеме уже несколько лет и много версий.
Сервер свой, не хостинг. Конфиг: 2-ядерный Xeon 5160 @ 3 ГГц; RAM - 4 Гб; Windows Server 2008 R2, IIS 7.5; PHP 7.3.2; MySql 5.5.
Количество товаров, что-то около 67-68 тыс.
Но это все мелочи. Одна относительно средняя таблица соединяется с парой-тройкой мелких. Должно работать мгновенно.
На SqlServer я просто не задумываюсь о настройке подобных запросов. Написал похожий на мой, то что с группировкой, ради интереса. Таблица товаров далеко за 100.000 записей, категорий около 1000. Запрос выполнился за 20 мсек. Какие там могут быть долгие блокировки?