- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброго.
На примере динамического подбора опций в фильтре (когда варианты следующей опции зависят от выбора первой и т.д.)
Если данные брать не из БД, а из массива в JS, подключенного внешним файлом и обрабатывать их уже на стороне клиента,
это существенно ускорит отклик и снизит нагрузку на сервер.
Вообще плюсов много.
Один только минус.
Первый раз этот массив все же придется загрузить.
Есть ли какие-то моральные принципы? Какой допустимый обьем данных можно вешать на юзера таким образом не испортив карму?
А зачем вешать JS массивы, если есть такая штука как ajax?
Если у вас идёт долгая выборка из БД надо что-то менять в БД и в структуре.
Там операции должны выполняться менее, чем за секунды.
Сервер нужен для того, чтобы держать нагрузку. А клиент браузер должен быстро и легко работать.
А зачем вешать JS массивы, если есть такая штука как ajax?
Если у вас идёт долгая выборка из БД надо что-то менять в БД и в структуре.
Там операции должны выполняться менее, чем за секунды.
Сервер нужен для того, чтобы держать нагрузку. А клиент браузер должен быстро и легко работать.
Уже 5 лет как на аяксе работает. НО!
Если у клиента пинг хоть немного не мгновенный, то это портит всю картинку.
ПОпробуйте вот через 3G денек поработать. Пинг проседает часто.
То, что на стационарном интернете было бесшовным, на 3Г заметно дергается.
Пользуюсь сайтом одним, забугорным. Там вообще вся инфа тупо в JSON выгружена прямо в код. А JS уже рендерит страницу.
Это конечно крайность, но я думаю золотая середина все же есть. Какую-то часть повесить на пользователя имеет смысл.
При условии что один человек может несколько десятков раз фильтр жмакать он и трафик сэкономит свой в итоге.
LEOnidUKG, перекладывать часть нагрузки на клиента - это нормальная практика
тут скорей вопрос к архитектуре и количестве позиций в выборке
часть запросов к бд может быть закеширована, дёрнуть аяксом часть закешированных данных и произвести окончательную обработку на клиенте не так сильно нагрузит клиента
Это усложнение жизни и себе, и пользователям. Вам все равно придется эти данные подгружать хотя бы при первой загрузке, а потом еще надо следить за их актуальностью. Я не вижу, чем этот способ превосходит обычное кэширование.
По снижению нагрузки все давно придумано до вас. Грамотная архитектура, продуманные запросы с минимально возможным количеством джойнов и подзапросов, индексация, кэширование. А при очень высокой нагрузке и реально больших объемах данных - горизонтальное масштабирование, но до этого еще надо суметь дорасти.
А если так хочется повесить нагрузку на клиента, что аж зубы сводит, то local storage, на мой взгляд, будет уместнее, чем подгрузка json в код.
А пока скачаются все данные в JS через 3G и ждать пока они прогрузятся, так это нормально?
Вполне. А потом в соседней ветке жаловаться, что Гугл мало баллов дал за загрузку сайта :)
Вообще хотелось бы увидеть сам сайт и что хочет конкретно этим добиться.
Вполне. А потом в соседней ветке жаловаться, что Гугл мало баллов дал за загрузку сайта
с умом надо делать и проблем не будет
на мой взгляд, будет уместнее, чем подгрузка json в код
ну с дуру можно и сами знаете что сделать
Charli, как заметил burunduk, кешируйте результат выборки на сутки/неделю/месяц. Каждый запрос фильтра проверяйте на наличие и актуальность кеша. Если все ок, отдавайте результат из кеша. Если нет, делайте запрос к БД, сохраняйте результат в кеш и отдавайте клиенту. Конечно если эти махинации действительно необходимы.
Если данные брать не из БД, а из массива в JS, подключенного внешним файлом и обрабатывать их уже на стороне клиента,
это существенно ускорит отклик
Не обязательно.
Если Вы говорите о внешнем файле, то видимо это не 3-5-8-13... 89-144 значений, которые можно вкрячить прямо на страницу.
По нашему опыту если список больше чем из 100 значений, то в среднем по палате аяксовый запрос на сервер даст более быстрый и надежный по скорости отклик, чем выборка и подстановка значений яваскриптом.
Так вообще-то не должно быть, вроде эти селекты не бином ньютона, но как-то вот всё время так получается.
И это на десктопе. На мобилах, особенно на старых смартах, ситуация еще хуже. При чем сервер на такой простой селект ответить не напряжется от слова вообще, т.к. если данные общедоступны (а иначе Вы бы не выгружали их в отдельный файл), то там ни авторизации, ни проверки данных, просто отдача - мгновенный результат.
В общем на практике - если варианты селектов на клиенте переходят за сотню числом, то мы говорим "ну его на фиг" и стараемся увести обработку на сервер. just in case.