Более-менее точные цифры можно получить, если браузер имеет постоянный коннект с сервером. Либо аяксовые запросы достаточно частые, либо websocket открытый. Тогда да, можно оценить и "сколько сейчас", и сколько на каждой странице находился человек.
Только ты все равно не сможешь оценить, читает человек страницу или она просто открыта

Если не использовать асинхронные запросы, то тогда можно оценивать в какой-то момент времени, сколько посетителей были на сайте в течение последних 5 (10, 15) минут. для этого в БД у каждого юзера должго быть записано время его последнего посещения. Продолжительность нахождения на странице не оценишь при этом никак.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)