[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите плз с дозагрузкой сообщений, и обновление
Zzepish
Я тут недавно выкладывал ссыль на свой движок-недоделку тыц. Так вот- с какого-то перепушгу движок толи сайт ложит, толи сам падает.
У меня идет каждую секунду полная перезагрузка сообщений (кроме того момента, когдаь вы на них навели), и юзеров. Тоесть идет не фиговая нагрузка. Кто знает- как урезать нагшрузку и сделать подгрузку сообщений, а не полное их обновление?



Спустя 18 минут, 22 секунды (18.08.2012 - 16:11) VolDroN написал(а):
Ох ужас.
Конечно он сервер убъёт, столько запросов..
Отправляешь от клиента запрос, например на адрес /ajax.php?action=getmessages&last_id=10. Где last_id это последнее сообщение которое уже есть у пользователя.
На сервере берёшь и вытаскиваешь все сообщения из бд у которых id > last_id. И отдаёшь их серверу, идеальный вариант - спомощью JSON, в формате {user: 'admin', timestamp:'134567883', message: 'Всем привет'}. javascript`ом разбираешь сообщение и добавляешь его. timestamp с помощью Date() меняешь на время. вот и всё

Спустя 26 минут, 35 секунд (18.08.2012 - 16:38) johniek_comp написал(а):
нужно держать постоянное соединение и не разрывать его, я это говорил уже где-то и вроде да же ТС-су

Спустя 2 часа, 20 минут, 35 секунд (18.08.2012 - 18:58) inpost написал(а):
Zzepish
Тебе уже говорили... node.js+socket.io .

Спустя 51 минута, 25 секунд (18.08.2012 - 19:50) Zzepish написал(а):
johniek_comp
не помню такого
inpost
Значит тупанул я.
Блин, там же всего 2 обращения в секунду. В чем проблема то?

Спустя 16 минут, 37 секунд (18.08.2012 - 20:06) alex12060 написал(а):
Сидит один юзер - 2 обращения в секунду - 120 обращений в минуту

N скриптов - Т1 времени + N выборок - T2 времени - Открыть-закрыть канал = T3
A = (T1 + T2 + T3) * 2 = Реальное время работы (нагрузка), которое >> 1 секунды
тогда тут другая формула - 120 обращений не за минуту, а за время A

Сидит P юзеров, тут получается:

120 * P = R

R - число обращений пользователей к серверу

Z и Х - время на помехи и перебои и очистку и прочее

Получается R1 = A * R + (Z + X) - общая нагрузка на сервер, и при увеличении R - растет нагрузка, причем Z и X не константы, а растут прямо пропорционально общей нагрузке.

Собственно, вечно закрывая и открывая канал и перезагружая ВСЮ страницу ты вешаешь огромную нагрузку на все - от канала до сервера БД.

Спустя 26 минут, 58 секунд (18.08.2012 - 20:33) inpost написал(а):
Zzepish
Сервер свой, или хотя бы платный хостинг, и проблем не будет.

Спустя 41 минута, 13 секунд (18.08.2012 - 21:15) Zzepish написал(а):
inpost
не поверишь- с 2-х окон свой сайт на своем компе положил (комп не лагал, но мускуль отказывался напроч работать. Активировался только через время либо после перезагрузки),
alex12060
О_О спс за полное объяснение. Теперь я в шоке)) будем долбить гранит науки)

Спустя 7 минут, 26 секунд (18.08.2012 - 21:22) inpost написал(а):
Zzepish
Не знаю даже как это ты всё настроил, что умудрился положить всё. Может у тебя произошла утечка памяти в браузере, заметно в ФФ очень сильно, тогда другое дело.
Домашние компы с настройкой сервера на юникс-системе должны сотни запросов держать, а не 1, как у тебя. И дёргать не всю БД надо, а лишь частично, индексы проставлять при выборке.

Спустя 2 часа, 55 секунд (18.08.2012 - 23:23) Zzepish написал(а):
inpost
ну, у меня индексы стоят (я поставил поле id как индексированое).
У меня не юникс. У меня windosw XP Professional service pack 3

Спустя 10 часов, 16 минут, 19 секунд (19.08.2012 - 09:39) inpost написал(а):
Zzepish
Вася написал в 10:10
Я зашел в 10:20
Семён написал в 10:30

Теперь, какие сообщения должен получить я из указанных выше? Условие, что чат живёт уже несколько лет, и пользователи приходят и уходят.
Когда мы установим сообщение, тогда второй ответ -как должна проходить данная выборка. И после того, как мы установили условие для выборки - необходимо поставить грамотно индексы.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.