Снижает ли Ajax производительность?

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

Это слишком расплывчато. На какую производительность влияет? Какой аякс?

SCdF 19.09.2008 08:12
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
2 123
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Сам 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 повысил производительность, и, следовательно, пользователь может делать больше запросов / обновлений.

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