Аяксифицировать или нет? - PullRequest
       10

Аяксифицировать или нет?

4 голосов
/ 01 декабря 2008

Мне очень нравится, как Ajax заставляет веб-приложение работать как настольное приложение, но я беспокоюсь о посещениях большого сайта. Сейчас я занимаюсь разработкой приложения для баз данных на основе интрасети, к которому одновременно могут обращаться не более 2-4 человек. Я, черт возьми, Ajaxing из этого, но это заставило меня задуматься, сколько Ajax слишком много?

В какой момент объем попаданий перевешивает преимущества, которые дает использование Ajax? В действительности это не похоже на обновление всей страницы, поскольку теоретически вы обновляете только те части, которые нуждаются в обновлении.

Мне любопытно, использовал ли кто-нибудь из вас Ajax на сайтах большого объема и в каком качестве вы его использовали? Это создает проблемы масштабирования?

Ответы [ 5 ]

2 голосов
/ 01 декабря 2008

Посмотрите на это так: AJAX не должен быть опцией only из-за возможности! Script, он должен существовать как слой поверх существующей архитектуры, чтобы обеспечить превосходный опыт в некоторых отношениях , Учитывая это, AJAX не может создать больше запросов или больше работы, чем простой HTML, потому что он обрабатывает точно такую ​​же передачу данных.

Где вы можете сэкономить пропускную способность и нагрузку на сервер, потому что AJAX предоставляет вам возможность передавать только данных. Вы можете сэкономить на избыточных запросах HTML, image, css и т. Д. При каждом обновлении страницы, одновременно обеспечивая удобство работы с пользователем.

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

Понять инструмент и использовать его для того, что он был разработан. Если реализация AJAX снижает производительность, вы сделали что-то не так.

(кстати, мой опыт профилирования AJAX по сравнению с простым HTML имеет тенденцию приводить к ~ 60% пропускной способности, ~ 80-90% к производительности)

2 голосов
/ 01 декабря 2008

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

2 голосов
/ 01 декабря 2008

В моем текущем проекте мы используем Ajax, и у нас были проблемы с масштабированием. Поскольку мой текущий проект - это сайт J2EE, который ведет хронометраж для сотрудников большого городского города, мы обнаружили, что было бы лучше, если бы браузер мог кэшировать данные, которые не изменятся в течение сеанса пользователя. К счастью, мы переходим к модели, в которой у нас есть один администратор, который обрабатывает как можно больше сотрудников. Это было бы сродни тому, как могло бы работать приложение ERP (или приложение электронной почты). Следовательно, наша бизнес-задача заключается в том, чтобы на стороне браузера могло храниться много данных, но мы не ожидаем, что количество посещений станет серьезной проблемой. Таким образом, мы сохранили остров данных XML на стороне браузера. Кроме того, мы загружаем данные только по мере необходимости.

Я настоятельно рекомендую книгу Ajax Design Patterns или их сайт .

1 голос
/ 01 декабря 2008

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

1 голос
/ 01 декабря 2008

Самая распространенная проблема масштабирования приложений ajax - это когда они должны настроить проверку на сервере, чтобы узнать, обновлялся ли контент за это время без необходимости активного запроса пользователя. 5 клиентов, проверяющих каждые 10 секунд, не 5000 клиентов, проверяющих каждые 10 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...