Websockets pesam bem menos que pingar o servidor com vários requests de tempos em tempos. O custo de novos requests HTTP em certo intervalo é bem maior que de manter as conexões dos websockets ativa.
Agora quanto vai aguentar depende muito da sua infra mesmo. Existe alguns cases por aí. Por exemplo, esse cara pendurou 600k websockets num Node.js na amazon com 4 cores e 16GB de RAM.
Mas isso exige algumas configurações e tunnings mais avançados. Por padrão por exemplo, só 1024 sockets podem ser abertas no Linux. Vc vai precisar aumentar isso.
O node tbm, por ser single threaded, pode ser o gargalo (mas depende do quão pesadas são as operações que vc vai executar no backend). No post acima o cara recomenda algumas configs pra um Node de alta escalabilidade.