A criação de aplicativos em tempo real com php nua não é uma opção muito boa, especialmente quando você precisa fazer longas pesquisas. Você poderia fazer algumas afinações, mas mais cedo ou mais tarde (por exemplo, com 150 clientes conectados), você terá que mudar sua arquitetura.
A consulta longa também requer acesso contínuo ao banco de dados, a fim de descobrir quando uma nova mensagem para um usuário foi enviada. Isso pode ser um exagero, quando você tem mais de 5 a 10 usuários, e essa é provavelmente a razão pela qual, após 5 a 10 clientes, seu servidor começa a ficar mais lento.
Eu sugiro que você use um servidor nodejs separado com o socket.io para o aplicativo em tempo real, o seu funciona muito bem e pode manipular milhares de conexões simultâneas sem nenhum problema. Ele contém excelentes opções de configuração e também suporta websockets ou long polling baseado nas capacidades do cliente conectado
Você pode dar uma olhada em socket.io
Além disso, para enviar mensagens (envio de conteúdo) do php para o servidor node.js para o servidor node.js, você pode usar o elephant.io biblioteca