Влияет ли чрезмерное использование AJAX на производительность? В контексте веб-приложений большого размера, как вы обрабатываете запросы AJAX для управления асинхронными запросами?





Сам AJAX (являющийся асинхронными запросами) .. Нет, в общем, нет.
Однако, если у вас много javascript и разметки и большие объемы данных передаются через ваши xmlhttprequests, тогда да, вы можете увидеть снижение производительности. Это действительно зависит от того, как вы хотите, чтобы ваш веб-сайт работал, любого ухудшения можно избежать, если его правильно вылепить.
чрезмерное использование чего-либо снижает производительность; использование AJAX там, где это необходимо, улучшит производительность, особенно если альтернативой является полный обход страницы и обратно на сервер [«обратная передача» в терминологии asp.net]
Ajax - это просто обычный HTTP-запрос, поэтому, если ваш сервер может обрабатывать эти запросы, это не будет проблемой. Положительным моментом Ajax является более быстрое восприятие пользователем производительности, поскольку странице не нужно перезагружаться и перерисовываться при каждом действии пользователя.
Если масштабируемость вызывает беспокойство, я уверен, что вы также планируете масштабировать систему по горизонтали, добавляя в ферму больше веб-серверов. В любом случае то же самое происходит даже с веб-приложениями, не использующими Ajax.
Если сайт занят, он в конечном итоге убьет сервер, если вы не находитесь на ферме. Что касается самого сайта, то это не должен.
AJAX, как и любая технология, может быть хорошим или плохим в зависимости от ситуации и того, как он реализован. Если у вас есть особая потребность в асинхронном процессе, тогда это хороший инструмент. Однако, если использовать его безответственно, могут возникнуть проблемы. Если вы все же используете его, попробуйте найти хороший фреймворк, который выполняет большую часть тяжелой работы, и помните о некоторых недостатках AJAX ... http://learningremix.net/w2007integ/vangoori/2007/01/the_downsides_of_ajax.shtml
Производительность чего именно? Я предполагаю, что вы имели в виду производительность приложения с точки зрения взаимодействия с пользователем.
Лучше всего Ajax вызывает сетевой трафик только тогда, когда это необходимо. Вместо того, чтобы загружать отличную веб-страницу за один раз, он загружает только то, что необходимо, максимально быстро.
Затем, если вы делаете что-то, для чего требуется дополнительная информация, она отправляется и получает ее из сети.
Это означает, что неиспользуемый материал никогда не загружается (если, конечно, вы правильно его спроектируете - плохой код может быть написан на Ajax так же, как и в любой другой среде).
Я предпочитаю смешивать методы Ajax для передачи данных и клиентскую библиотеку, такую как jQuery, для красивого интерфейса.
В зависимости от ситуации, AJAX может иметь накладные расходы на производительность или на самом деле может иметь лучшую производительность, чем равноценно функционирующий веб-сайт, который не использует AJAX.
Очень легко чрезмерно использовать AJAX, чтобы перегрузить сервер множеством необоснованных запросов, а также это может стать бременем для ЦП клиента. И наоборот, AJAX также можно использовать для доставки небольших фрагментов HTML и другого кода, а не целой страницы для каждого запроса, что, по крайней мере, является меньшей нагрузкой на сервер.
У этой истории есть две стороны.
AJAX обычно улучшает производительность с точки зрения клиента. Вместо загрузки всей страницы с сервера запрашивается меньший объем данных, когда это необходимо. Учитывая, что HTML-страница часто ссылается на многие зависимые файлы (изображения, css, javascript и т. д., Каждый из которых требует обращения к серверу (или кешу)), производительность клиента от разумного использования AJAX может быть замечательной.
На стороне сервера проблема заключается в том, что нужно управлять большим количеством подключений. Приложения для опроса, в частности, чат в браузере, действительно могут начать увеличивать нагрузку на сервер, потому что браузер теперь обращается к серверу намного быстрее. В типичном динамическом приложении (где ответ генерируется кодом, а не статическим файлом) вы можете столкнуться с проблемами, но они обычно уравновешиваются тем фактом, что сложность вашего запроса часто намного ниже (опять же, вы не 'генерирует не всю страницу, а ее небольшое подмножество), и поэтому ваша платформа, вероятно, в любом случае может получить более высокую пропускную способность.
Точный результат любой проблемы с производительностью будет зависеть от ряда факторов, включая ваш сервер, платформу, структуру и преобладающие климатические условия в то время.
Мой главный совет - сосредоточьтесь на создании хорошего пользовательского опыта, разумно развивайтесь, собирайте как можно больше показателей и оптимизируйте, когда вы знать вам это нужно.
Я согласен с несколькими другими сообщениями здесь. Если вы используете его разумным образом (т. Е. Не используете ajax каждые 30 секунд), тогда все будет в порядке. Я использую ajax на своем веб-сайте (и есть также бесплатная версия js), и с точки зрения клиентов версия ajax загружается где угодно, от почти одинаковой скорости до в четыре раза быстрее. Все зависит от дизайна (графики и другого контента) веб-сайта и от того, что вы обновляете.
Обратной стороной является то, что вам нужно загрузить некоторые фреймворки (даже если вы создадите свои собственные, как у меня), у вас будет немного медленнее загрузка первой страницы или любых полных обновлений, и это немного увеличивает нагрузку на обработку. . Но это только потому, что ajax повысил производительность, и, следовательно, пользователь может делать больше запросов / обновлений.
Это слишком расплывчато. На какую производительность влияет? Какой аякс?