Страница 1 из 2
Загрузка смайлов
Добавлено: 18:06, 10.04.2012
wizard50
Тема уже поднималась и безуспешно. Но попробую еще раз.
Есть предложение как то модифицировать загрузку смайлов.
1. Сделать в клиенте галочку автоматическое обновление смайлов.
а. как вариант текущий, т.е. включение клиента и автоматической загрузкой. смайлы обновляются в каналах после обновления каналов.
б. при включении клиента клиент сначала грузит смайлы затем входит в каналы (для локалок время задержки будет несущественное даже у неадеквадных админов с 10 мб сборками)
2. Из пункта 1 вытекает как обновлять, проверить. Дабы уменьшить количество информации при генерации сервером смайл пака делать какой то хеш (возможно сейчас уже подобное делается?) и сверять только его.
3. Так как имеем клиента на мобильные устройства и платный трафик/низкие скорости/ограничения платформ/объем места на мобильных устройствах и тд есть предложение модернизировать саму загрузку смайл пака.
а. разбить смайлы по группа (уже есть) и считать хеш каждой группы.
б. при добавлении смайла в группу или добавлении группы подгружать только эту группу.
в. на мобильных клиентах (да и на интернет серверах) имеет смысл сделать 1 группу основной. сделать на нее ограничение (например 100 смайлов/ 1 мб). при загрузке клиента грузиться только эта группа, остальное по запросу. смайлы ведь висят в памяти, сейчас либо вариант вообще не грузить их. либо грузить все. что на слабых компьютерах или ограниченных ресурсах чревато.
В итоге несколько большей (я бы сказал несущественной) нагрузке вырастающей изначальным запросом десятка цифр решаются куча проблем с загрузкой больших объемов смайлов. Вы ратуете за снижение загрузки сетей? Ну так это уменьшит ее. Особенно на мобильных клиентах.
4. Можно пойти еще дальше. сделать первый раздел из стандартных 20-30-50 смайлов неизменяемым. Тогда при подключении к любому серверу не придется качать основу. А уж качать дополнительные решать каждому самому. Конечно этот вариант не понравиться горе админам которые лезут в настройки к клиентам. Но для адекватных людей это было бы логично. Опять же можно делать не настолько жестко привязать этот первый раздел. А дать админам сервера на выбор. Оставить его или удалить. Тогда при подключении к серверу клиенту просто будет выводить, что пак полностью изменен скачайте полностью новый.
Re: Загрузка смайлов
Добавлено: 02:47, 11.04.2012
nikitka
Одно пожелание: сделать в клиенте галочку автоматическое обновление смайлов без перезагрузки сервера.
Re: Загрузка смайлов
Добавлено: 06:20, 11.04.2012
Maxim Mirgorodsky
Автоматическое обновление смайлов недопустимо с точки зрения нагрузки на сеть. Допустим, изменили набор смайлов в 7 мегабайт, перезагрузили сервер, к которому подключается 3000 клиентов, каждый из которых перед открытием канала должен загрузить набор. Итого сервер должен сразу отдать 21 гигабайт данных.
Разделить хэши по группам - это "перетягивание одеяла". Т.е. мы снижаем нагрузку от загрузки набора смайлов, но увеличиваем ее от повседневной работы (при подключении каждого клиента каждый раз будет догружаться до 160 байт лишней в подавляющем большинстве случаев информации). Сделать автоматическую загрузку такое изменение не поможет (даже 1 мегабайт раздать 3000 клиентам - это 3 гигабайта трафика).
Re: Загрузка смайлов
Добавлено: 07:58, 11.04.2012
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 мб?
Re: Загрузка смайлов
Добавлено: 09:10, 11.04.2012
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 минут до множества часов.
Re: Загрузка смайлов
Добавлено: 09:56, 11.04.2012
DENS
спасибо разработчику что экономит наш трафик и нагрузку на проц.
Re: Загрузка смайлов
Добавлено: 13:27, 11.04.2012
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 мб в день?
Re: Загрузка смайлов
Добавлено: 13:50, 11.04.2012
Maxim Mirgorodsky
не буду приводить ресурсоемкие приложения в пример. я так понимаю, что чат это самая сложная задача из имеющихся в сетях. правильно понимаю?
Мы сейчас говорим о чате или об импульсной нагрузке в несколько сот тысяч запросов 64-килобайтных блоков набора смайлов в течение 2-3 минут?
(про картинки) опять же лукавите. нагрузка на винты в этот момент очень приличная идет.
Нагрузка на винты при публикации изображений вообще не идет, так как все операции проводятся в пямяти (на сервере только если включены логи то протоколируется одна строчка, на клиенте тоже кроме памяти только логи).
у вас очень часто мелькает теоретическое отношение. а давайте затестим?
При проектировании протокола сначала нагрузка считается.
вот поэтому я предлагаю не загружать эти смайлы целиком. вы сами себе противоречите. вы или за экономию. или за простоту?
Прочитайте внимательно первый ответ. Придется повториться, экономия на одном дает большую нагрузку в другом. То что мы уменьшим блок с 10 мегабайт до одного (и не факт что модифицируется всегда только одна группа) - все равно не позволит осуществлять автоматический обмен набором смайлов.
ой ну я вас умоляю. какая нагрузка за год? 160 байт * 2 раза зайти в чат в день * 3000 пользователей = 1 мб в день?
Расчетная нагрузка - 20000 зарегистрированных пользователей (5000 - это одновременных подключений). И опять же все данные отправляемые при авторизации - это импульсная нагрузка. На проблемы со связью или перезапуск сервера приходятся ее пики. Если бы это были более полезные данные - можно было бы на это пойти.
Re: Загрузка смайлов
Добавлено: 04:51, 12.04.2012
wizard50
зайдем с другой стороны, раз вы опускаете неудобные моменты.
мне с планшета и с телефона надо заходить в два чата. в одном из них 10 мб пак, в другом 4 мб. во-первых, это долго качать. во-вторых, это дорого. а сидеть там приходиться поочередно. вы не находите, что глупо каждый раз качать то, что уже скачано было?
Re: Загрузка смайлов
Добавлено: 07:36, 12.04.2012
Maxim Mirgorodsky
Windows-версия при таком использовании хранила бы оба набора. Рекомендуем обратиться с соответствующим пожеланием к автору мобильной версии:
http://www.commfort.com/ru/forum/viewto ... =32&t=7802
Re: Загрузка смайлов
Добавлено: 09:59, 12.04.2012
wizard50
[удалено модератором - офтопик]
Re: Загрузка смайлов
Добавлено: 10:22, 12.04.2012
DENS
мне одному кажется что слова Максима звучат неправдоподобно и отговорочно?
Re: Загрузка смайлов
Добавлено: 10:31, 12.04.2012
Maxim Mirgorodsky
В каких именно цифрах из озвученных Вы усомнились?
Re: Загрузка смайлов
Добавлено: 10:42, 12.04.2012
wizard50
[удалено модератором - офтопик]
Re: Загрузка смайлов
Добавлено: 00:21, 14.04.2012
Mellon
Я половины не прочел но вы все тупите, в том числе и ваш Максим. Выпускать заплатки(патчи) обновления и обновлять поточно - разные вещи. Вы имеете виду заплатки а максим потоковое обновления хоть я и прочел первые 2 поста !
Какой в этом смысл в потоковом обновлении если каждый админ может скачать любой выборочный пак со смайлами и обновоить(на свой вкус и цвет) - а ответ очень прост ваша лень. Такое обновление мог бы выпустить даже я(или например вы) без участия коммфорт.ком но оно мне не надо для таких придурков ленивых составлять наборы смайлов и всем вам в рот запихивать ? Имхо бред )