Частота избирательного участка ajax - до длительного опроса или не для длительного опроса?

StackOverflow https://stackoverflow.com/questions/3842063

Вопрос

Я строительную компонент веб-страницы, которая нуждается в относительно постоянном опросе базы данных. Я могу видеть два разных подхода к этому, и мне интересно, лучше ли один из них лучше, чем другие, или я пропускаю третий вариант.

1) Отправьте запрос AJAX каждые 1 или 2 секунды для проверки обновлений. Каждый запрос немедленно возвращает, есть ли новые данные.
2) Окружайте один запрос AJAX, который не будет возвращаться, пока не получит данные или время ожидания. На любом из тех, кто происходит, он сжигает следующий запрос. (Я думаю, что это называется длинным опросом?)

Количество запросов баз данных будет одинаковым, но с # 2 было бы меньше запросов, которые можно было бы меньше запросов, которые могут сэкономить пропускную способность и клиентские ресурсы. Для сервера, лучше ли иметь один запрос PHP, который остается активным и спит между запросами, или что зажигается каждые несколько секунд, выбирают БД, затем выключается? Или нет никакой разницы, и я слишком сильно подчеркиваю это?

Редактировать: Я полагаю, я также должен указать, что это виджет чата большего веб-приложения. Небольшая задержка общения не собирается убивать пользователя, так как Chat - это вторичная функция.

Это было полезно?

Решение

Длинные опросы будут лучше масштабироваться (т.е. меньше нагрузки на сервер), чем опрос, пока дает гораздо лучшее время отклика.

Если ваши опросы получателей, среднее время в пути сообщения будет половина вашего интервала опроса.

С длинным опросом, его мгновение - сервер ждет только, если нечего сказать.

Если вы делаете обмен сообщениями чата, пройдите длительный опрос; его удобство использования.

Внешняя сторона с длинным опросом - это более сложная для реализации; Но это не так гораздо сложнее, и он широко реализован. Поэтому, если вы не можете использовать Frameweld Framework для вашего веб-сервера выбора, вы можете установить на написание одного разумно, и вы его работаете.

Другие советы

Вы также можете посмотреть на Websockets., часть новейших браузеров (или эмулированных через Flash file. Вы бросаете на свою страницу)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top