|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.03.2016, 14:26 | #1 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Объясните преимущества websocket на моем конкретном примере.
В данный момент у меня работает такое:
-на сервер присылаются рисунки периодически(с заменой предыдущих) с частотой ~15-20 секунд. -на страничке html по таймеру раз в 15-18 секунд происходит загрузка этих рисунков -на сервере также имеется информация о том наступила следующая итерация или нет( обновились ли рисунки)Т.е. по ajax сравнивается номер итерации рисунков на сервере с переменной в js, если не равно то загружаем новые рисунки если равно то ждем еще 2 секунды и повторяем такой же запрос пока не будет новая итерация( новые рисунки) - допустим одновременно запущено 250 таких html страничек( пользователей) -получается каждые 15-18 секунд просиходит 250 запросов к серверу и в случае если новая итерация произошла и появились новые рисунки то они загружаются каждой страничкой, т.е. получается что происходит 250*кол рисунков раз чтения диска сервера 1)Если это реализовывать через Websocket, то рисунки будут загружены 1 раз с сервера на 1 итерацию вместо 250 раз как в нынешней реализации?Т.е. это уменьшит нагрузку на дисковую подсистему или оперативку( если у меня рисунки на RAM диске? Уменьшит нагрузку на мой Nginx и соответственно уменьшит процессорную нагрузку? 2) сетевой трафик будет примерно одинаков? |
12.03.2016, 14:41 | #2 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
1) Если в RAM диске то нет. Если на HDD то уменьшит. Открытие файла на HDD считай 30 мс. На RAM порядка 1-30 мкс, т.е в 1000 раз меньше.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 12.03.2016 в 15:01. |
|
12.03.2016, 15:48 | #3 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
|
13.03.2016, 17:52 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,179
|
Логику поменять тогда будут. Отсеются ненужные запросы изменилось ли что-то там..... Грузится будут толко реальные изменения
А экономия будет по запросам. Тем что у вас каждые 2 сек.... статус проверять. 250 * 9 каждые 18 сек.. Не считая данных с изменением и загрузкой... Карооче нужно логику продумать без привязки к вебу и применить инструмент технологию нужную Последний раз редактировалось ADSoft; 13.03.2016 в 17:57. |
13.03.2016, 18:56 | #5 | |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
Цитата:
Ну так я все не могу ответа понять, вместо 250 запросов на одну итерацию от каждой странички через websocket можно сделать массовую рассылку и в итоге картинки будут загружены 1 раз только ( с HDD, SSD, RAM) и разосланы всем 250 страничкам? Т.е. будет как бы один запрос от сервера к всем страничкам сразу, а не 250 от страничек к серверу как в данный момент? Ну и ненужно будет дополнительные запросы через 2 секунды если новых картинок не появилось так как инициатор будет сервер и будет отсылать, соответственно когда картинки изменились( настала новая итерация) И еще вопрос: какой websocket сервер посоветуете при следующих пожеланиях: -максимально простота работы -без ручной слежки за памятью -чтобы работал на слабых серверах ( 1 ядро проца, 512(1024) оперативы) под Ubuntu 14.04 Пока что думаю о phpDaemon, там вроде за памятью следит сама, но документации мало и не так просто реализуется Есть ratchet, вроде все по проще, но за памятью походу самому нужно следить. Собственно от WebSocket мне нужна только массовая рассылка рисунков и данных инициированных сервером. Последний раз редактировалось Illusiony; 13.03.2016 в 19:31. |
|
13.03.2016, 19:33 | #6 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,179
|
Ratchet неплохая штука. Остальное смотрите сами
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Можно ли в один запрос объединить вставку в MySql в моем примере | Illusiony | PHP | 12 | 23.01.2015 20:24 |
Объясните как? на примере my lands | Renndy15 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 7 | 20.03.2013 11:28 |
Запрос на добавление без повторов на конкретном примере | Inflame to me!! | Microsoft Office Access | 1 | 10.05.2012 12:46 |
Как сделать так, чтобы в моем браузере новое окно страницы открывалось в моем-же браузере??? | Somilya | Помощь студентам | 6 | 22.12.2009 21:56 |
Указатели. Объясните пожалуйста на примере scanline. | TwiX | Общие вопросы Delphi | 3 | 19.10.2009 12:24 |