ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] =?KOI8-R?Q?Re=3A_=5Bapache-talk=5D_=D0p=C1=D7=C9=CC=D8=CE=CF=C5_=CE?==?KOI8-R?Q?=C1=D0=C9=D3=C1=CE=C9=C5_=DE=C1=D4=CF=D7?=



On Fri, 15 Oct 1999, Alex Tutubalin wrote:

Привет!
Сорри за нек. задержку с ответом - экзамен по философии в аспирантуру
сдавал. 8-)

> Вот тут мной пишется очеpедная поделка - www-chat (пожалуй, из массовых вещей 
>я 
> только баннеpный обмен еще не писал :)

может, сразу и примешься? 8-) вполне серьезно. занятие, наверное, более
благодарное, чем написание чата..

> Возникает вопpос - как пpавильно обновлять содеpжимое окон клиентских 
> бpоузеpов?
> Есть подозpение, что meta refresh может дать кpайне непpиятные волны нагpузки
> за счет авто-синхpонизации всего хозяйства (если случайно получится так, что 
> pавномеpная нагpузка вдpуг пеpестанет быть таковой, то она сама может начать 
> собиpаться в волны). Что делать ? meta refresh with random delay ?

в принципе, может, но как показывает практика, такая ситуация возникает
только при 'make; apachectl restart' - загрузка машины увеличивается до
7-12, а потом спадает где-то до 1.5-2. В общем, ничего особо
криминального. Непрерывных волн нагрузки практически не
наблюдается - роль random delay с успехом выполняет разница в скорости
передачи данных клиентам (как раз 3-5 секунд при рефреше с частотой 10-15
секунд). Поэтому вполне приемлемым решением является <meta refresh=> с
периодом, регулируемым из настроек (~25% пользователей меняют себе
частоту, вместо принятой по умолчанию). С <meta refresh> будут некоторые
проблемы, если "опускать" окно разговоров вниз, а не писать фразы
снизу вверх, но это вполне решаемо. Кстати, безусловно, чат для
400-600 одновременных клиентов просто обязан быть апачевским модулем
(хотя, зная Алекса, это можно было и не упоминать 8-).

А для того, чтобы хоть немного снизить нагрузку (не столько на машину,
сколько на канал -- когда чатовский трафик начал зашкаливать за
10 Гб/сутки) я недавно на "Кроватке" ввел новую технологию обновления
окна: connection с клиентом не разрывается, и раз в секунду проверяется,
нет ли новых сообщений на вывод: есть - ap_rputs() и яваскриптовский
scroll()  нет - sleep процессу. "Рефреш", конечно, можно установить
из настроек, но это делают только 5-8% людей. А трафик уменьшается,
как не сложно догадаться, ровно во столько раз, сколько /в среднем/
рефрешей одна фраза "держится" на экране. Кроме того, скорость
общения практически стала, как в IRC.
Самый большой недостаток - естественно, 658 processes: 2 running, 656
sleeping, и ужасающий netstat -a  ('netstat -a | wc -l' == 1896)
впрочем, эти проблемы решаются установкой 512 Mb оперативки

> Особенно интеpесно мнение хозяина Кpоватки, благо он тут встpечается.

встретился 8-)

> p.s. Планиpуемая нагpузка - большая, железо слабое, канал быстpый :)

Васенинский? все равно чат сумеет забить. 8-)

P.S> а оно тебе очень надо - писать чат с нуля? Причем, не простой, как
я понимаю.. А например, только на составление словаря для "матотестера" в
чате у меня ушло около двух месяцев (зато он фильтрует мат по ~200
правилам его образования 8-), есть куча тонкостей, связанных с подстройкой
под конкретные броузеры и т.д. и т.п.
Я двумя руками за то, чтобы популярные сервера либо открывали "каналы"
на кроватке (примеры: Omen, gamecenter.ru), автоматически получая
некоторый приток посетителей к себе, либо ставили у себя "экспортную
копию" чата. И в том, и в другом случае дизайн чата делается в стиле
самого сайта. IMHO, приличнее, чем стандартные бесплатные чаты.

P.P.S> а железо все-таки потребуется не очень слабое 8-) PII-350/256
рекомендуется.

--
Art [Artem Podstreshny]   Radio-MSU Network Center
+7 (095)932-8880    http://www.radio-msu.net/~art/

=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.