Ajax Polling с 1000 пользователей чата - PullRequest
1 голос
/ 23 октября 2010

Мы хотим, чтобы ajax-вызов выполнялся каждые 100 секунд, который запрашивает логическое значение из базы данных, которая сообщает клиентской стороне, если пользователь все еще имеет право задавать вопросы.

Боюсь, что, несмотря на то, что запрашивается очень маленький объем данных, он может быть слишком большим для базы данных.

В худшем случае scenerio, 1000 пользователей делают этот запрос одновременно. Максимальный размер пула базы данных - 1000.

Это приложение ASP.NET, использующее методы страницы, доступ к которым осуществляется через функции обратного вызова javascript.

Ответы [ 2 ]

1 голос
/ 23 октября 2010

Почему бы не рандомизировать задержку?Например, опросите не каждые 100 секунд, а каждые 100 + some_random_offset секунд.Таким образом, вам гарантировано, что у вас не будет 1000 клиентов ВСЕГДА опрашивать в одно и то же время, хотя вы можете видеть случайные всплески.

0 голосов
/ 23 октября 2010

Вы можете посмотреть на наличие слоя кэширования поверх базы данных, который прекрасно справится с этой нагрузкой, поскольку вам не нужно каждый раз обращаться к БД.

...