![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Сразу извинюсь если была уже такая тема. Не нашёл.
Как-то я писал уже чат для ipb на ajax (использовал библиотеку от dklab). Как мне кажеться, получился очень даже ничего. Но вот только мне не нравилось одно. Скорость была не очень большая. Возможно это связанно с пропускной способностью моего сервера? Если человек 9 в чате общалось - то чат начинал глючить, фиг знает почему. А вот chat.php.spb.ru работал невероятно быстро. Как так? Как сделать чат что бы работал так же быстро как chat.php.spb.ru? |
|||
|
||||
| egao |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 6.8.2007 Репутация: -1 Всего: нет |
первым делом пропингуй сервер.
вторым - измерь время генерации сервером ответа. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
и что дальше?
|
|||
|
||||
| egao |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 6.8.2007 Репутация: -1 Всего: нет |
и узнаешь что тормозит...
|
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
||||
|
||||
| egao |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 6.8.2007 Репутация: -1 Всего: нет |
на каком языке серверный скрипт?
|
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
php
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
расставить в контрольных точках скрипта $t1 = microtime(); $t2 = microtime(); ...
$time_generation = $t2 - $t1; найдёшь наиболее продолжительные интервалы Это сообщение отредактировал(а) bars80080 - 25.1.2008, 18:59 |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
а сообщения где хранятся?
|
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
в mysql. А подгружаются через библиотеку от dklab.
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Скрипт на стороне клиента почти не работает (иначе твой браузер почти повиснет), проблема как уже говорили, на стороне сервера.
Он использует постоянные коннекты, т.е. сервер имеет возможность уведомлять клиента о новых сообщениях. Традиционный чат сам опрашивает сервер, отсюда лаги в пару секунд. Естественно, что держать соединение открытым - штука дорогая, потому на бесплатных/дешёвых/виртуальных серверах не пройдёт. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: нет Всего: 56 |
-------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Sardar, а как организовывается постоянное соединение? Как постояная загрузка страницы?
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Убери лимит по времени для скрипта, крути бесконечный цикл, раз в секунду отправляй что нибудь (и пробел сойдёт, хотя лучше вызов JS функции, замеряй лаг). Естественно вывод должен быть без буферизации. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Ясно. А как проверить сможет ли браузер поддерживать такую штуку? И в php, можно ли как-нибудь прям из скрипта установить время выполнения? Будет ли где-нибудь утечка памяти? Нужно ли время от времени заканчивать такое соединение и начинать заново?
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |