Загрузка смайлов

Здесь обсуждаются общие вопросы, связанные с программой.
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Загрузка смайлов

Сообщение wizard50 »

Тема уже поднималась и безуспешно. Но попробую еще раз.

Есть предложение как то модифицировать загрузку смайлов.

1. Сделать в клиенте галочку автоматическое обновление смайлов.
а. как вариант текущий, т.е. включение клиента и автоматической загрузкой. смайлы обновляются в каналах после обновления каналов.
б. при включении клиента клиент сначала грузит смайлы затем входит в каналы (для локалок время задержки будет несущественное даже у неадеквадных админов с 10 мб сборками)

2. Из пункта 1 вытекает как обновлять, проверить. Дабы уменьшить количество информации при генерации сервером смайл пака делать какой то хеш (возможно сейчас уже подобное делается?) и сверять только его.

3. Так как имеем клиента на мобильные устройства и платный трафик/низкие скорости/ограничения платформ/объем места на мобильных устройствах и тд есть предложение модернизировать саму загрузку смайл пака.
а. разбить смайлы по группа (уже есть) и считать хеш каждой группы.
б. при добавлении смайла в группу или добавлении группы подгружать только эту группу.
в. на мобильных клиентах (да и на интернет серверах) имеет смысл сделать 1 группу основной. сделать на нее ограничение (например 100 смайлов/ 1 мб). при загрузке клиента грузиться только эта группа, остальное по запросу. смайлы ведь висят в памяти, сейчас либо вариант вообще не грузить их. либо грузить все. что на слабых компьютерах или ограниченных ресурсах чревато.

В итоге несколько большей (я бы сказал несущественной) нагрузке вырастающей изначальным запросом десятка цифр решаются куча проблем с загрузкой больших объемов смайлов. Вы ратуете за снижение загрузки сетей? Ну так это уменьшит ее. Особенно на мобильных клиентах.

4. Можно пойти еще дальше. сделать первый раздел из стандартных 20-30-50 смайлов неизменяемым. Тогда при подключении к любому серверу не придется качать основу. А уж качать дополнительные решать каждому самому. Конечно этот вариант не понравиться горе админам которые лезут в настройки к клиентам. Но для адекватных людей это было бы логично. Опять же можно делать не настолько жестко привязать этот первый раздел. А дать админам сервера на выбор. Оставить его или удалить. Тогда при подключении к серверу клиенту просто будет выводить, что пак полностью изменен скачайте полностью новый.
Аватара пользователя
nikitka
Сообщения: 952
Зарегистрирован: 15:00, 10.08.2008
Откуда: Комсомольск-на-Амуре

Re: Загрузка смайлов

Сообщение nikitka »

Одно пожелание: сделать в клиенте галочку автоматическое обновление смайлов без перезагрузки сервера.
vk.com/cchat | q4p.ru
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Загрузка смайлов

Сообщение Maxim Mirgorodsky »

Автоматическое обновление смайлов недопустимо с точки зрения нагрузки на сеть. Допустим, изменили набор смайлов в 7 мегабайт, перезагрузили сервер, к которому подключается 3000 клиентов, каждый из которых перед открытием канала должен загрузить набор. Итого сервер должен сразу отдать 21 гигабайт данных.

Разделить хэши по группам - это "перетягивание одеяла". Т.е. мы снижаем нагрузку от загрузки набора смайлов, но увеличиваем ее от повседневной работы (при подключении каждого клиента каждый раз будет догружаться до 160 байт лишней в подавляющем большинстве случаев информации). Сделать автоматическую загрузку такое изменение не поможет (даже 1 мегабайт раздать 3000 клиентам - это 3 гигабайта трафика).
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Загрузка смайлов

Сообщение wizard50 »

Maxim Mirgorodsky писал(а):Автоматическое обновление смайлов недопустимо с точки зрения нагрузки на сеть. Допустим, изменили набор смайлов в 7 мегабайт, перезагрузили сервер, к которому подключается 3000 клиентов, каждый из которых перед открытием канала должен загрузить набор. Итого сервер должен сразу отдать 21 гигабайт данных.
наш сервер на котором висит чат/фтп/игровой клиент/сервер хаба - отдает вечерами порядка 400 мбит и это порядка 70% загрузки рейд массива и 40% сетевых. мы можем позволить себе раздать 4 мб на 500 = 2 гб (и 21 гб тоже был бы не проблема). написав про 21 гб вы проигнорировали предложения или не прочитали полностью. что такое 3000 клиентов по 7 мб ? такая загрузка разом не будет. не видел чатов где клиенты по 1000 за раз заходят. соответственно обновляться они будут постепенно. а вот 21 гб передачей файлов через сервер легко нагрузить. два человека могут это сделать. но вы же ввели такую возможность.
из того, что вы сделали передачу файлов уже это подразумевает прикрутить нормальный шейпер к чату. и раздача в очереди ни кто не отменял. сервера с узкими каналами, просто отключат у себя автоматическое обновление клиентов и все. картинки же запрещают ограничивают. флуд сообщениями регулируют. почему бы не ограничивать раздачу смайлов?

вообще их можно выделить в отдельную задачу. сервер указывает из какой папки клиентам обновлять. и эта папка может быть фтп сервер или еще лучше какой ни будь торент клиент. как во многих играх организовано обновление. и почему то 20 млн игроков в WOT c обновлениями по 2 гб не кладут систему, а чат с 21 гб должен положить.
Maxim Mirgorodsky писал(а): Разделить хэши по группам - это "перетягивание одеяла". Т.е. мы снижаем нагрузку от загрузки набора смайлов, но увеличиваем ее от повседневной работы (при подключении каждого клиента каждый раз будет догружаться до 160 байт лишней в подавляющем большинстве случаев информации). Сделать автоматическую загрузку такое изменение не поможет (даже 1 мегабайт раздать 3000 клиентам - это 3 гигабайта трафика).
160 байт нагрузка? простите а картинки в общем канале это сколько байт на каждую?
То есть сейчас имеем: 3000 клиентов нажали обновить смайл пак и загрузили по 7 мб каждый. А если пак будет разбит по частям: то нажали 3000 клиентов и скачали по 500 кб + 160 байт. мне одному цифры кажутся разными не в пользу полного скачивания?

хотелось бы серьезного обсуждения, а не формальные отписки.

P.S. не понял чем отличается автоматическое обновление клиентов (которое хоть как то можно упорядочить) от ручного скачивания 3000 клиентов смайлпака в 7 мб?
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Загрузка смайлов

Сообщение Maxim Mirgorodsky »

мы можем позволить себе раздать 4 мб на 500 = 2 гб (и 21 гб тоже был бы не проблема). написав про 21 гб вы проигнорировали предложения или не прочитали полностью. что такое 3000 клиентов по 7 мб ? такая загрузка разом не будет. не видел чатов где клиенты по 1000 за раз заходят. соответственно обновляться они будут постепенно. а вот 21 гб передачей файлов через сервер легко нагрузить. два человека могут это сделать. но вы же ввели такую возможность.
Расчетная нагрузка протокола пятой версии - 5000 одновременных подключений. Для обновления набора смайлов необходимо сервер закрыть и снова открыть. Соответственно, эти 5000 пользователей подключатся в течение 2х минут.
мы можем позволить себе раздать 4 мб на 500 = 2 гб
Даже раздача 2Гб может вызвать ощутимые проблемы. Отправка данных идет небольшими блоками, с подтверждением, плюс служебные данные. И все это носит пиковый характер. Нагрузка очень высокая.
а вот 21 гб передачей файлов через сервер легко нагрузить. два человека могут это сделать. но вы же ввели такую возможность.
Если 5000 пользователей одновременно будут передавать файлы через сервер - то да (хоть и ситуация тут проще ввиду того что блоки больше, т.е. будет ниже нагрузка на вычислительные ресурсы). А если одновременных сеансов будет немного - то это нагрузка совершенно другого типа. Она безопасна. Остановки предоставления сервисов не происходит, новые блоки данных запрашиваются только после доставки предыдущих, количество обрабатываемых запросов невысоко. Т.е. сеть может быть загружена полностью, но штатной работе сервера ничего не угрожает. Например, при возникновении импульса нагрузки в виде опубликованной в канале картинки, именно она будет рассылаться, а передача файлов через сервер автоматически приостановится на время обработки рассылки картинки.
картинки же запрещают ограничивают. флуд сообщениями регулируют. почему бы не ограничивать раздачу смайлов?
Разница в нагрузке на порядок. А может и на 2.
вообще их можно выделить в отдельную задачу. сервер указывает из какой папки клиентам обновлять. и эта папка может быть фтп сервер или еще лучше какой ни будь торент клиент. как во многих играх организовано обновление. и почему то 20 млн игроков в WOT c обновлениями по 2 гб не кладут систему, а чат с 21 гб должен положить.
Чат и так прокачивает эти же самые 21 ГБ. Но так как пользователи вручную нажимают на кнопку загрузки набора смайлов - нагрузка размазывается по времени и не приводит к проблемам.

Есть еще политическая проблема. Трафик может быть платный. Если сделать автоматическую загрузку смайлов опциональной и отключить по умолчанию - это будет неэффективно (ничего не изменится, так как эту опцию подавляющее большинство пользователей не будут активировать сами). Если зафиксировать опцию с сервера - 10 мегабайтные наборы будут загружаться и тем кому каждый мегабайт стоит денег.
160 байт нагрузка? простите а картинки в общем канале это сколько байт на каждую?
Конечно нагрузка. Умножьте на 5000 клиентов. И еще умножьте на количество подключений к серверу каждого клиента за неделю/месяц/год. И увидите лишний трафик, который вообще никакой роли не играет на тех серверах, где набор смайлов не меняется часто (мы рекомендуем не менять его часто).
То есть сейчас имеем: 3000 клиентов нажали обновить смайл пак и загрузили по 7 мб каждый. А если пак будет разбит по частям: то нажали 3000 клиентов и скачали по 500 кб + 160 байт
Эти 160 байт будут уходить клиентам не при загрузке набора смайлов, а при каждом подключении к серверу. Чтобы синхронизировать каждую часть набора смайлов клиента с оной сервера.
хотелось бы серьезного обсуждения, а не формальные отписки.
Хотелось бы уважительного отношения к обсуждению.
P.S. не понял чем отличается автоматическое обновление клиентов (которое хоть как то можно упорядочить) от ручного скачивания 3000 клиентов смайлпака в 7 мб?
При нагрузке в 5000 подключений количество людей которые в данный конкретный момент активно используют программу - пара сотен. Поэтому количество запросов на обновление набора смайлов "размазывается" с 2-3 минут до множества часов.
DENS
Сообщения: 389
Зарегистрирован: 09:55, 22.10.2006

Re: Загрузка смайлов

Сообщение DENS »

спасибо разработчику что экономит наш трафик и нагрузку на проц.
Чат г.Тольятти и Самарской области
Адрес мастер сервера: chat.aido.ru
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Загрузка смайлов

Сообщение wizard50 »

Maxim Mirgorodsky писал(а):Расчетная нагрузка протокола пятой версии - 5000 одновременных подключений. Для обновления набора смайлов необходимо сервер закрыть и снова открыть. Соответственно, эти 5000 пользователей подключатся в течение 2х минут.
То есть основная проблема в текущей реализации: перезагрузка смайлов только по рестарту сервера (как и все опции).
Maxim Mirgorodsky писал(а): Даже раздача 2Гб может вызвать ощутимые проблемы. Отправка данных идет небольшими блоками, с подтверждением, плюс служебные данные. И все это носит пиковый характер. Нагрузка очень высокая.
не буду приводить ресурсоемкие приложения в пример. я так понимаю, что чат это самая сложная задача из имеющихся в сетях. правильно понимаю?
Maxim Mirgorodsky писал(а):Если 5000 пользователей одновременно будут передавать файлы через сервер - то да (хоть и ситуация тут проще ввиду того что блоки больше, т.е. будет ниже нагрузка на вычислительные ресурсы). А если одновременных сеансов будет немного - то это нагрузка совершенно другого типа. Она безопасна. Остановки предоставления сервисов не происходит, новые блоки данных запрашиваются только после доставки предыдущих, количество обрабатываемых запросов невысоко. Т.е. сеть может быть загружена полностью, но штатной работе сервера ничего не угрожает. Например, при возникновении импульса нагрузки в виде опубликованной в канале картинки, именно она будет рассылаться, а передача файлов через сервер автоматически приостановится на время обработки рассылки картинки.
вот как раз передача файлов через сервер создает огромную нагрузку. в чем уже пришлось убедиться. но опять же не настолько, что бы это было не решаемое. вы почему наотрез отказываетесь с 3 версии чата экономить ресурсы локальных компьютеров мотивируя это безграничными современными достижениями. но сервера у вас видимо до сих пор на 10 мбит коаксиале и первых пнях.
Maxim Mirgorodsky писал(а): Разница в нагрузке на порядок. А может и на 2.
(про картинки) опять же лукавите. нагрузка на винты в этот момент очень приличная идет. у нас помниться даже проблема с падением сервера была из-за этого. что то вы правили в тот раз. но думаю загрузка в любом случае очень приличная.
Maxim Mirgorodsky писал(а): Чат и так прокачивает эти же самые 21 ГБ. Но так как пользователи вручную нажимают на кнопку загрузки набора смайлов - нагрузка размазывается по времени и не приводит к проблемам.
угу, пользователи зайдя в чат точно так же одновременно жмут загрузить. пару сотен легко. а в чате из нескольких тысяч так тем более человек по 500 сразу нажмут. у вас очень часто мелькает теоретическое отношение. а давайте затестим? я вот обновил проверил. в течении одной минуты было создано 140 подключений. у меня онлайн не максимальный.
Maxim Mirgorodsky писал(а):Есть еще политическая проблема. Трафик может быть платный. Если сделать автоматическую загрузку смайлов опциональной и отключить по умолчанию - это будет неэффективно (ничего не изменится, так как эту опцию подавляющее большинство пользователей не будут активировать сами). Если зафиксировать опцию с сервера - 10 мегабайтные наборы будут загружаться и тем кому каждый мегабайт стоит денег.
вот поэтому я предлагаю не загружать эти смайлы целиком. вы сами себе противоречите. вы или за экономию. или за простоту?
Maxim Mirgorodsky писал(а):Конечно нагрузка. Умножьте на 5000 клиентов. И еще умножьте на количество подключений к серверу каждого клиента за неделю/месяц/год. И увидите лишний трафик, который вообще никакой роли не играет на тех серверах, где набор смайлов не меняется часто (мы рекомендуем не менять его часто).

Эти 160 байт будут уходить клиентам не при загрузке набора смайлов, а при каждом подключении к серверу. Чтобы синхронизировать каждую часть набора смайлов клиента с оной сервера.
ой ну я вас умоляю. какая нагрузка за год? 160 байт * 2 раза зайти в чат в день * 3000 пользователей = 1 мб в день?
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Загрузка смайлов

Сообщение Maxim Mirgorodsky »

не буду приводить ресурсоемкие приложения в пример. я так понимаю, что чат это самая сложная задача из имеющихся в сетях. правильно понимаю?
Мы сейчас говорим о чате или об импульсной нагрузке в несколько сот тысяч запросов 64-килобайтных блоков набора смайлов в течение 2-3 минут?

(про картинки) опять же лукавите. нагрузка на винты в этот момент очень приличная идет.
Нагрузка на винты при публикации изображений вообще не идет, так как все операции проводятся в пямяти (на сервере только если включены логи то протоколируется одна строчка, на клиенте тоже кроме памяти только логи).
у вас очень часто мелькает теоретическое отношение. а давайте затестим?
При проектировании протокола сначала нагрузка считается.
вот поэтому я предлагаю не загружать эти смайлы целиком. вы сами себе противоречите. вы или за экономию. или за простоту?
Прочитайте внимательно первый ответ. Придется повториться, экономия на одном дает большую нагрузку в другом. То что мы уменьшим блок с 10 мегабайт до одного (и не факт что модифицируется всегда только одна группа) - все равно не позволит осуществлять автоматический обмен набором смайлов.
ой ну я вас умоляю. какая нагрузка за год? 160 байт * 2 раза зайти в чат в день * 3000 пользователей = 1 мб в день?
Расчетная нагрузка - 20000 зарегистрированных пользователей (5000 - это одновременных подключений). И опять же все данные отправляемые при авторизации - это импульсная нагрузка. На проблемы со связью или перезапуск сервера приходятся ее пики. Если бы это были более полезные данные - можно было бы на это пойти.
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Загрузка смайлов

Сообщение wizard50 »

зайдем с другой стороны, раз вы опускаете неудобные моменты.

мне с планшета и с телефона надо заходить в два чата. в одном из них 10 мб пак, в другом 4 мб. во-первых, это долго качать. во-вторых, это дорого. а сидеть там приходиться поочередно. вы не находите, что глупо каждый раз качать то, что уже скачано было?
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Загрузка смайлов

Сообщение Maxim Mirgorodsky »

Windows-версия при таком использовании хранила бы оба набора. Рекомендуем обратиться с соответствующим пожеланием к автору мобильной версии: http://www.commfort.com/ru/forum/viewto ... =32&t=7802
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Загрузка смайлов

Сообщение wizard50 »

[удалено модератором - офтопик]
DENS
Сообщения: 389
Зарегистрирован: 09:55, 22.10.2006

Re: Загрузка смайлов

Сообщение DENS »

мне одному кажется что слова Максима звучат неправдоподобно и отговорочно?
Чат г.Тольятти и Самарской области
Адрес мастер сервера: chat.aido.ru
Maxim Mirgorodsky
Администратор
Сообщения: 6867
Зарегистрирован: 09:56, 27.06.2005

Re: Загрузка смайлов

Сообщение Maxim Mirgorodsky »

В каких именно цифрах из озвученных Вы усомнились?
wizard50
Сообщения: 1691
Зарегистрирован: 17:18, 31.10.2006
Откуда: Комсмомольск-на-Амуре

Re: Загрузка смайлов

Сообщение wizard50 »

[удалено модератором - офтопик]
Аватара пользователя
Mellon
Сообщения: 203
Зарегистрирован: 06:19, 10.11.2010
Контактная информация:

Re: Загрузка смайлов

Сообщение Mellon »

Я половины не прочел но вы все тупите, в том числе и ваш Максим. Выпускать заплатки(патчи) обновления и обновлять поточно - разные вещи. Вы имеете виду заплатки а максим потоковое обновления хоть я и прочел первые 2 поста !
Какой в этом смысл в потоковом обновлении если каждый админ может скачать любой выборочный пак со смайлами и обновоить(на свой вкус и цвет) - а ответ очень прост ваша лень. Такое обновление мог бы выпустить даже я(или например вы) без участия коммфорт.ком но оно мне не надо для таких придурков ленивых составлять наборы смайлов и всем вам в рот запихивать ? Имхо бред )
http://vk.com/mellstorm
CommFort Сервер 5.X г Москва
Адрес пиринг: chat.xdep.ru (SVAO-IX, HOME-IX, NAUKA-IX и H-IX)
Ответить