Подскажите технологию для реалтайм окон

movs

Новичок
Подскажите как правильно реализовать задачу:
Нужно пользователям админки сайта отображать всплывающее окно в момент поступления входящего телефонного звонка на АТС. АТС умеет стучатся в момент звонка на любую ссылку и передавать через POST или GET номер звонящего. Там я через РНР выдергиваю из базы клиента по номеру и делаю что хочу. Теперь надо отобразить пользователю админки окно "Вам звонит Вася".
Как реализовано сейчас:
Мой РНР файл пишет короткий лог файл со звонками за 5 минут, в админке написан JS который раз в пару секунд АЯКСОМ стучится к этому логу, смотрит нет ли новых звонков и если есть отображает всплывающее окно.
В чем проблема: когда пользователей больше 5 эти запросы к файлу раз в 2 секунды кладут хостинг. Подскажите в какую сторону копать? WebSocket?
 

Yaponchick

Новичок
Хороший вопрос, кто как решает эту проблему? (я не тс и у меня есть всё)
 

movs

Новичок
nginx + memcahe на хостинге есть ?
Вроде как нет... Но честно говоря хочется решить этот вопрос не настройками хостинга, а оптимальным кодом. А то если пользователей будет не 5 а 500 то никакие настройки не помогут 100%
 

Breeze

goshogun
Команда форума
Партнер клуба
когда пользователей больше 5 эти запросы к файлу раз в 2 секунды кладут хостинг
значит что-то ты неправильно делаешь с файлом.
небось каждым запросом по файлу лазаешь и по номеру запрашивающего смотришь есть ли записи по звонкам ему?
а файл-то один на всех и обновляешь ты его через flock
 

Adelf

Administrator
Команда форума
Да даже если и проблемы с nginx... Не проще через базу данных? Необязательно SQL... Элементарно Redis - летать будет.
 

movs

Новичок
значит что-то ты неправильно делаешь с файлом.
В файле лежит готовый json. Его просто открыли и забрали целиком джаваскритом. Никакого РНР в файле уже нет. РНР и запрос в MySQL отрабатывает однократно при поступлении входящего звонка, лезет в базу и перезаписывает этот файлик новыми данными.

Вот такое содержимое файла получается. Обращение к нему аяксом раз в 2 секунды 5 пользователями одновременно приводит к "ограничению операций ввода-вывода" у хостера. Хостинг менять?
---------
[{"time":"2016-01-29 13:25:25","phone":"49523130138**"},{"time":"2016-01-29 13:32:26","phone":"4922868489**"}]
---------
 
Последнее редактирование:

Breeze

goshogun
Команда форума
Партнер клуба
А где я сказал, что у тебя там пхп? :)
Как часто звонки идут и генерится этот json?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Вдруг там apache + шаред хостинг :(
 

Breeze

goshogun
Команда форума
Партнер клуба
Вдруг там apache + шаред хостинг :(
выдача статичного файла апачем даже на шареде не может тупить так, чтоб "когда пользователей больше 5 эти запросы к файлу раз в 2 секунды кладут хостинг",
значит где-то он что-то делает не так, как надо.

дружно вспомним ресайз картинки :)
 

Breeze

goshogun
Команда форума
Партнер клуба
и, кстати, что есть "кладут хостинг"?
 

AnrDaemon

Продвинутый новичок
выдача статичного файла апачем даже на шареде не может тупить так, чтоб "когда пользователей больше 5 эти запросы к файлу раз в 2 секунды кладут хостинг",
Именно. Для этого нужен уж очень дохлый хостинг.
ab -c 10 -n 1000
пока ещё клал только стек клиента.
Так что ждём ТС. Мне уже даже интересно, ЧЕМ можно положить хостинг на статике.
 

movs

Новичок
Апач там у меня..шэред. А звонки единичные... Не чаще 2-3х в минуту, в момент поступления звонка и генерации этого лога перегрузки быть не может. А вот похоже при постоянном обращении к логу в на хостинге отдает "достигнуто ограничение операций ввода-вывода" и 500 ошибка на весь сайт целиком :( Получается я имею 2-3 обращения к статичному файлу в секунду.
 

movs

Новичок
Хостинг у меня fozzy.com, мало ли кто сразу поругает и скажет "меняй немедленно" :) и phpinfo()
 

AnrDaemon

Продвинутый новичок
Вообще сделай "ab -с 10 -n 1000" на какую-нибудь мелкую картинку на сайте. Если это положит хостинг - меняй немедленно.
 

AmdY

Пью пиво
Команда форума
А ты посмотри в отладчике вкладку network, куда глются эти запросы и какие ответы, сколько времени отнимает один запрос. Может у низ какой антиспам стоит, сухосины и прочая магия, или с реврайтами проблема какая. Вариант должен работать даже на очень дохлом хостинге.
 

antson

Новичок
Партнер клуба
@movs, если хостинг тормоз и нет возможности его сменить, а менеджеры сидят из одного офиса, то перенести функционал работы с заказами на отдельную машинку. Хватит даже старой железки лишьбы никсы тянула без графики
 

antson

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