Um banco de dados estará envolvido. Assim, toda vez que alguém fizer login no site, você poderá ter um campo na tabela de um usuário para last_login. E então pode haver um script que faça uma consulta na tabela desse usuário para contar o número de linhas last_login no último x período de tempo. Pode ser bom armazenar isso em cache e repovoar esse cache a cada z período de tempo e, em seguida, extrair desse cache em vez de executar uma consulta na tabela do usuário a cada solicitação. Então banco de dados + algum tipo de sistema de cache.