В PHP есть какой-то буфер, пока он не наполнится - flush() не отправит данные клиенту.
Для его заполнения я использовал пробелы, можете посмотреть код тут:
https://github.com/nazar-pc/CSTester/blob/master/s...
Это заставляет возвращать данные клиенту как только это вам необходимо, не дожидаясь заполнения буфера.