Как правильно делать счетчики на сайте?
Обычно для счетчиков стараются применять базы данных в памяти. 
В основном это Redis, но можно и MySQL использовать, просто указать хранилище в памяти и отключить транзакции.
В большинстве своем счетчики обновляются на основе различных событий, например отправка комментария. Обновление делается в фоновом режиме. 
Как только данные актуализируются, интерфейс уведомляется о новом состоянии счетчиков. На больших сайтах это реализуется через SSE или веб-сокеты.
Редис. Счетчики могут быть переключены одновременно сотней людей, транзакции это будет конец. Чтобы принять запрос его хорошо бы сделать тем меньше чем возможно, хттп запрос это не самое малое что можно передать. Открыв сокет и плюнув датой, хешом юзера и айди счетчика, да все это в бинари, данных будет существенно меньше