Я сейчас крамолу скажу. Альтернативный способ - это использовать Node.js. Под эту систему есть довольно много очень простых и элегантных решений с сокетами. На PHP это реализуется в разы сложнее в силу схемы работы PHP на сервере.
Если всё же нужно на PHP, то нужно сделать на сервере шину/очередь типа RabbitMQ, а клиент по WebSocket должен ждать/отправлять оповещение о наборе. Но нагрузка, как вы правильно опасаетесь может быть довольно высокой, если сделать серверную часть слишком тяжёлой.