Push notification или оптимизированная проверка новых сообщений

Мизантроп777

Новичок
Приветствую всех.
Я реализовал чат на сокетах все работает как подобает, но хочется заранее оптимизировать сией процесс.
На данный момент скрипт работает след. образом: пользователь входит в чат, браузер отправляет запрос через сокеты HTML5 и запрос улетает на сервер и обрабатывается в цикле, каждая итерация это обращениетв БД (цикл засыпает на пол секунды), то есть если клиент будет находится в чате 10 минут, то это, грубо говоря, 1200 обращений в БД.
Как можно оптимизировать процесс?
У меня следующее соображение: создать отдельный файл и при каждой записи в БД записывать в этот файл ID через функцию file_put_contents() и уже проверять о поступивших данных не в БД а в файле, и если эти данные новые, то уже доставать их из БД. Но какие могут крыться подводные камни при таком подходе? И вообще правильно ли так делать или же это совсем уж криво? Может быть имеются другие варианты решение проблемы? Я впервые столкнулся с подобной задачей.
 

hell0w0rd

Продвинутый новичок
Мизантроп777, возьми что угодно, у чего есть pub/sub (редиска), выкинь php, возьми nodejs под такую задачу.
собственно примеры чатов на nodejs дофига.
 

WMix

герр M:)ller
Партнер клуба
Мизантроп777, убери базу и прикрути клиента с базой. пусть сервер занимается только переброской сообщений.
на счет разницы, принцип то один, а реализация разная!
 

antson

Новичок
Партнер клуба
Мизантроп777, чат можно реализовать вообще без бд. пришедшее сообщение, рассылается всем подключенным или (личка) только в нужному. А базу использовать только для логов.
 
Сверху