Xpoint
   [напомнить пароль]

Поедаемый чатом трафик

Метки: [без меток]
[удл]
2006-07-04 20:15:15 [обр] Михаил(0/17)[досье]

Запустил самописный чат.. Всё бы хорошо, но есть один непонятный момент:
у меня он поедает 20-25 кб за одно обновление, т.е. 120-150кб в мин (непозволительно много!)
Попросил замерить трафик знакомого - у него 15кб в мин примерно....
У некоторых так вообще 3-4кб в мин (!.. и этот вариант должен быть единственным верным)

Понять причину никак не могу(.. Возникло предположение, что у меня каждый раз подгружаются JS-скрипты, которые добавляют сообщения в основной фрейм чата, вместо того чтобы кешироваться.. Но после выноса их в необновляемый фрейм картина не изменилась..
 
Что это может быть?

спустя 1 час 10 минут [обр] Роман Чемисов(0/327)[досье]
Михаил[досье]
А Вы посмотрите сколько весят все обновляемые части (html-код). Как раз должны получиться 20-25 Кб. JavaScript как раз не должен изменяться (хотя как там это у Вас сделано я не знаю), т. е. он то как раз кешируется.
Скорее всего дело в разметке. Навороченная разметка (табличная), много лишней информации — отсюда большой объём.
Посмотрите в сторону AJAX. Можно будет передавать только сами текстовые сообщения и больше ничего.
спустя 8 часов [обр] Михаил(0/17)[досье]
Роман Чемисов[досье]
Замер происходил при работе чата в холостую, т.е. когда небыло не одного сообщения, а следовательно, фоейм обновлялся в пустую. Тоесть либо в него ничего не приходило(размер хтмл кода фрейма - 0 байт), либо в него приходила "1"(размер хтмл кода 1 байт).
Так что как сами видите - никакой лишней информации нету.
спустя 2 часа 6 минут [обр] Роман Чемисов(0/327)[досье]
Михаил[досье]
Почему ничего не приходило? Может в него приходила как-раз такая же страница, которая там уже была? Она то не кешируется как раз.
спустя 4 минуты [обр] Михаил(0/17)[досье]

Роман Чемисов[досье]
В ка ком смсысле страница котороя там была?
Тоесть какие действия я выполнил - зашел в чат, посмотрел код этого хтмл фрейма - там было: "1" (больше ничего небыло). Спецально эту еденицу прописал, чтобы быть увереным, что ничего леого туда неприходит.
Затем, засек 10 минут, подождал - накапало - метр почти. В течении этих 10 минут, переодически смотрел хтмл код этого фрейма - по прежнему было "1" и ничего более.

Может всётаки тут виновато что-то другое? Например служебная информация которая передается вместе с запросм, или ещё что?

спустя 11 минут [обр] Михаил(0/17)[досье]
Попробовал принтить в этот фрейм жестко "1" и ничего более - всё равно - за одно обновление съедается 15кб (+- 1кб).
Обновление происходит, с поможью JS:
top.hiddenfr.document.location = "?a=refresh"+"&pivate="+FlagPrivate;
спустя 4 часа 16 минут [обр] Роман Чемисов(0/327)[досье]
Михаил[досье]
Что значит "1"? Это весь код? Или там ещё HTML-код должен быть...
спустя 1 час 5 минут [обр] Михаил(0/17)[досье]
Роман Чемисов[досье]
Вообще там должен быть хтмл код, но для проверки - весь хтмл код: "1"
спустя 48 минут [обр] Алексей Севрюков(3/1280)[досье]
Михаил[досье] Ну а заголовки ответа сервера Вы не учитываете? Они же тоже приходят и трафик едят. И могут быть абсолютно разных размеров.
спустя 12 минут [обр] Михаил(0/17)[досье]
Алексей Севрюков[досье]
И как с этим бороться? почему у одного человека, ответ получается меньше 1кб, а у другого 15кб?
И откуда могут браться такие громадные заголовки в 15 кб?
спустя 22 минуты [обр] Роман Чемисов(0/327)[досье]
Михаил[досье]
Тогда, скорее всего, у Вас обновляется не только iframe, а что-то ещё... Нужен код.
Вряд ли у Вас заголовки тянут на 15 Кб...
спустя 2 минуты [обр] Михаил(0/17)[досье]
Роман Чемисов[досье]
обновляется не iframe, а самый обычный фрейм.
Код - я уже довал:
top.hiddenfr.document.location = "?a=refresh"+"&pivate="+FlagPrivate;
спустя 1 час 24 минуты [обр] Алексей Севрюков(3/1280)[досье]
За 10 минут и на заголовках может накапать очень много. Зависит от частоты обновления. Видел чаты, в которых это время составляет 2-4 секунды. Вот и посчитайте, посмотрите заголовки, узнайте размер и прикиньте по количеству обновлений.
спустя 58 минут [обр] Михаил(0/17)[досье]
Алексей Севрюков[досье]
Частота обеновления - 10 сек.
А как можно посмотреть сколько весят заголовки?
Да и к тому же, почему у одного получается что завесят на парядок больше чем у другого?
спустя 1 час 57 минут [обр] Алексей Севрюков(3/1280)[досье]
Михаил[досье] http://utils.smart-site.ru/headers/
Только подсчета размера заголовком у меня нет, ручками посчитайте или скопируйте в блокнот, сохраните и посмотрите размер файл.
спустя 18 минут [обр] Михаил(0/17)[досье]

Алексей Севрюков[досье]
Тоесть под заголовком вы понимаете:

HTTP/1.1 200 OK
Connection: keep-alive
Date: Wed, 05 Jul 2006 16:06:14 GMT
Server: nginx/0.3.43
Content-Type: text/html; charset=windows-1251
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Last-Modified: Wed, 05 Jul 2006 16:06:14 GMT
Client-Date: Wed, 05 Jul 2006 20:12:04 GMT
Client-Peer: 81.177.16.140:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked

это?
Если так, то думаю тут уж никак не может быть 15кб.
Ну а получить точно, нужный мне заголовок просто неполучится, с помощью этого, потомуычто там проверяются куки, следрвательно если переписать код, то достоверность потеряется. Точнее переписал я код, и вот такой заголовок получил примерно.

спустя 1 час 56 минут [обр] Алексей Севрюков(3/1280)[досье]

~365 bytes * 60 updates = ~22k, это без кук за 10 минут. Это только ответ сервера. Прибавляем еще столько же на запрос клиента, получаем ну от силы 50к, ну и накладные расходы - в пакетах TCP/IP тоже содержится некоторая информация, ее получается не очень много, можно пренебречь.

Проверяйте, может у Вас не только Ваш чат висит, а в это время еще что-то лезет? Например Windows за апдейтами, или какой-нибудь онлайн сервис. Если Все что Вы описываете правда и больше ничего не обновляется то это точно не чат ест. Т.е. проблема не в чате, а в том как Вы замеряете этот трафик.

P.S. Может ссылку дадите посмотреть?

спустя 1 минуту [обр] Алексей Севрюков(3/1280)[досье]
М Перенесено из форума "Программирование::Perl::Разное"
спустя 9 минут [обр] Михаил(0/17)[досье]
Алексей Севрюков[досье]
Ну сам я непонимаю.... ну непонимаю в чем проблема и все тут.
Ну неможет же быть так, что одновременно в ту же секунду когда обновляется чат, ещё и что-то дргуое происходит... спецально сидел с мерелкой трафика полчаса и замерял.
Ладно еслиб винда обновлялась один раз вместе с чатом, ладно если два... но не может же она обновлятся постоянно когда я в чат зохожу.
Линку - http://game.ancientworld.ru/cgi-bin/index.cgi
спустя 5 минут [обр] Михаил(0/17)[досье]
о_О
Всё, я в шоке. Теперь всё стало норм. Всётаки проблема наверное была в компьютере, потомучто скрипты я больше не менял.
Powered by POEM™ Engine Copyright © 2002-2005