Как убрать максимальное количество вкладок
Решаем проблему миллиона открытых вкладок или «помогаем железу выживать»
Мы попробуем разобраться — как можно снизить нагрузку на серверное железо, обеспечив при этом максимальную производительность Web-приложения.
В разработке больших высоконагруженных проектов с огромным онлайном часто приходится думать, как снизить нагрузку на сервера, особенно при работе в webSocket’ами и динамически изменяемыми интерфейсами. К нам приходит 100500 пользователей и мы имеем 100500 открытых соединений по сокетам. А если каждый из них откроет по 2 вкладки — это уже *201000 соединений. А если пять?
Рождается идея — а что, если WS соединения поднимать лишь в одной вкладке и всегда держать его открытым, а в новых не инициализировать подключение, а просто слушать из соседней вкладки? Именно о реализации этой идеи я и хочу рассказать.
Логическое поведение вкладок в браузере
Техническая сторона вопроса
Для общения между вкладками мы будем использовать то, что связывает их в рамках одного домена — localStorage. Обращения к нему не затратны по ресурсам железа пользователя и отклик от них весьма быстр. Вокруг него и строится вся задумка.
Есть библиотека, которая уже долгое время не поддерживается создателем, но можно сделать ее локальный форк, как я и поступил. Из нее мы достаем файл:
Суть библиотеки в том, что она позволяет общаться евентами emit/on между вкладками используя для этого localStorage.
После этого нам нужен инструмент, позволяющий «лочить» (блокировать изменения) некий ключ в localStorage, не позволяя его никому изменять без необходимых прав. Для этого была написана маленькая библиотека «locableStorage«, суть которой заключена в функции trySyncLock()
Теперь необходимо объединить все в единый механизм, который и позволит реализовать задуманное.
Теперь на пальцах объясню, что здесь происходит.
Шаг 1. Открытие первой вкладки
Данный пример реализует таймер, работающий в нескольких вкладах, но вычисления которого происходит лишь в одной. Код таймера можно заменить на что угодно, например, на инициализацию WS-соединения. при запуске сразу выполняется webSocketInit(), что в первой вкладке приведет нас к запуску счетчика (открытию сокета), а так же к запуску таймера startHeartBitInterval() обновления значения ключа «wsLU» в localStorage. Данный ключ отвечает за время создания и поддержания активности Primary-вкладки. Это ключевой элемент всей конструкции. Одновременно создается ключ «wsOpen«, который отвечает за статус работы счетчика (или открытие WS-соединения) и переменная «primaryStatus«, делающая текущую вкладку главной, становится истиной. Получение любого события из счетчика (WS-соединения) будет эмитится в Intercom, конструкцией:
Шаг 2. Открытие второй вкладки
Открытие второй, третьей и любой другой вкладки вызовет webSocketInit(), после чего в бой вступает ключ «wsLU» и «forceOpen«. Если код:
… приведет к тому, что «forceOpen» станет true, то счетчик остановится и начнется заново, но этого не произойдет, т.к. diff не будет больше заданного значения, ибо ключ wsLU поддерживается актуальным Primary-вкладкой. Все Secondary-вкладки будут слушать события, которые им отдает Primary-вкладка через Intercom, конструкцией:
Шаг 3. Закрытие вкладки
Закрытие вкладок вызывает в современных браузерах событие onbeforeunload. Мы обрабатываем его следующим образом:
Нужно обратить внимание, что вызов всех методов произойдет лишь в Primary-вкладке. При закрытии любой Secondary-вкладки ничего со счетчиком происходить не будет. Нужно лишь убрать прослушку событий, чтобы освободить память. Но если мы закрыли Primary-вкладку, то мы поставим wsOpen в значение false и отпавим событие TAB_CLOSED. Все открытые табы тут же отреагируют на него:
Вот здесь и начинается магия. Функция.
… позволяет вызывать инициализацию сокета (в нашем случае счетчика) через разные промежутки времени, что дает возможность какой-то из Secondary-вкладок успеть стать Primary и записать инфу об этом в localStorage. Пошаманив в цифрами (1, 1000) можно добиться максимально быстрого отклика вкладок. Остальные Secondary-вкладки остаются слушать события и реагировать на них, ожидая смерти Primary.
Мы получили конструкцию, которая позволяет держать лишь одно webSocket-соединение для всего приложения, сколько бы вкладок у него не было, что существенно сократит нагрузку на железо наших серверов и, как следствие, позволит держать больший онлайн.
Как управлять слишком большим количеством вкладок браузера в Chrome, Firefox, Brave и Vivaldi
Я никогда не думал об управлении вкладками так сильно, как в последнее время. Некоторое время назад я наткнулся на опрос, который разрушил мое представление о том, что такое «слишком много вкладок браузера». Согласно опросу, я нахожусь в меньшинстве, которое оставляет открытыми 20 и более вкладок. Большинство же, напротив, оставляет открытыми только до 20 вкладок.
Покопавшись немного дальше, я понял, что большинство браузеров просто не подходят для управления слишком большим количеством вкладок браузера.
Ранее я писал о своем опыте использования Google Chrome и о том, как я открывал много вкладок только для того, чтобы в итоге получилось так много беспорядка, что было невозможно работать эффективно.
Но все изменилось, когда я познакомился с Vivaldi и его способом управления слишком большим количеством вкладок браузера.
В дополнение к некоторым удивительным функциям управления вкладками, недавно Vivaldi представил двухуровневые стеки вкладок – возможность отображать вкладки на двух уровнях.
Я хотел испытать на себе двухуровневые стеки вкладок, а также проверить, как я буду управлять своим «слишком большим количеством вкладок» в Google Chrome, Mozilla Firefox и Brave.
Управление слишком большим количеством вкладок в Google Chrome
Обычно у меня открыто более 20 вкладок, но для этой задачи я закрыл несколько (да!) И остановился на тестировании с 20.
Вплоть до мая прошлого года вам потребовались расширения для правильного управления вкладками в Google Chrome. Многие остались довольны такими расширениями, как One Tab, который приостанавливает все активные вкладки и выводит их вертикально на отдельной вкладке.
One Tab – отличное расширение, потому что оно позволяет браузеру работать только с нужными вам вкладками. Это важно, потому что, когда у вас открыто значительное количество вкладок, вы можете заметить, что браузер тормозит.
В мае 2020 года Google Chrome интегрировал группировку вкладок в браузер.
Это было огромным улучшением и имело большое значение для многих людей, придерживавшихся Google Chrome.
Группировка вкладок позволяет вам проводить несколько сеансов просмотра одновременно. Вы можете делать покупки в Интернете, проводить исследования, читать новости или просто просматривать социальные сети. Группирование вкладок дает вам возможность категоризировать просмотр и упрощает переход между множеством открытых вкладок.
В Google Chrome я могу сгруппировать свои вкладки и пометить их собственным именем и цветом. Я могу перемещать и изменять порядок групп на панели вкладок. Было определенно приятно сгруппировать мои вкладки в четыре группы с цветовой кодировкой.
Однако, когда я нажимаю на группу, она открывает ее по горизонтали на панели вкладок и показывает все вкладки. Это становится проблемой, когда я открываю группу с большим количеством вкладок – ощущение беспорядка возвращается.
Слишком много вкладок браузера в Brave?
Я надеялся увидеть лучшее управление вкладками для слишком большого количества вкладок в Brave. Это не тот браузер, которым я пользовался раньше, поэтому мне пришлось скачать его специально для теста.
Я открыл «слишком много вкладок» в Brave, но не заметил отличий от Chrome. Насколько я мог судить, у него была такая же функция группировки вкладок, почти такая же, как в Chrome.
Поскольку Brave – это браузер на основе Chromium, вы можете использовать расширения Интернет-магазина Chrome для улучшения управления вкладками. В этом есть целый мир возможностей. Однако имейте в виду, что существуют вредоносные расширения. Более того, часто расширения потребляют много энергии, а слишком большое количество расширений может снизить производительность браузера.
Тестирование слишком большого количества вкладок браузера в Firefox
В Firefox пока нет интегрированной формы управления вкладками. Как и в Chrome, доступно множество популярных расширений (специфичных для Firefox).
Одно мощное и часто используемое расширение с множеством опций – Workona. Это простое в использовании расширение, которое позволяет сортировать вкладки по разным группам или сеансам. Вам нужно будет перейти на вкладку Workona, чтобы открыть различные группы.
Вкладка «Стиль дерева», еще одно расширение, открывает панель навигации слева от вашего окна с вертикальным списком всех активных вкладок (во многом как встроенная функция Vivaldi, где вы можете выбрать расположение панели вкладок). Список облегчает просмотр заголовков вкладок и навигацию по вкладкам.
Но, как упоминалось ранее, добавление расширений в браузер вызывает проблемы с конфиденциальностью.
Firefox Multi-Account Container – это расширение, ориентированное на конфиденциальность. Вы можете создавать «контейнеры», которые действуют как отдельный браузер в одном окне браузера. Данные из одного контейнера не передаются другим вкладкам.
Каждый контейнер имеет цвет, но нет возможности сгруппировать вкладки вместе. Беспорядок все еще там, только с цветовой кодировкой.
Браузер Vivaldi и его легендарное управление вкладками
Как и я, вы, наверное, слышали легенды об управлении вкладками в браузере Vivaldi. Ранее я писал о нескольких функциях, которые привлекли мое внимание, особенно о функции мозаики вкладок.
Когда я тестировал управление вкладками в четырех браузерах, меня больше всего впечатлила способность Вивальди управлять вкладками. Vivaldi имеет множество встроенных функций вкладок, что делает просмотр очень приятным. Расширения – это здорово, но встроенные функции всегда безопаснее использовать (не многие расширения ориентированы на конфиденциальность), и, как правило, собственные функции всегда обеспечивают лучший пользовательский интерфейс в соответствии с продуктом.
Недавно представленная функция двухуровневых стеков вкладок отлично подходит для управления слишком большим количеством вкладок. Я не знал, что мне это нужно, пока не попробовал. Это дает мне четкий обзор многих вкладок.
Он добавляет второй уровень, чтобы я мог легко видеть свои сложенные (сгруппированные) вкладки. Это небольшая деталь, которая имеет большое значение, когда вкладки начинают складываться. Это особенно хорошо работает, если я размещаю свои вкладки вертикально по обе стороны от окна браузера (для чего потребуются расширения в других браузерах).
И с вкладками в Vivaldi я могу делать гораздо больше без использования расширений. Скажем, я хочу получить представление всех открытых вкладок в виде дерева. Я делаю это, открывая панель окна на боковой панели.
Я также могу назвать и сохранять вкладки (или их выбор) как сохраненный сеанс.
И когда моя панель вкладок начинает переполняться, появляется удобная альтернатива веб-панели. Это выдвижная боковая панель, которая дает мне дополнительное место для моих любимых веб-сайтов и инструментов. Я могу добавить любой веб-сайт в качестве веб-панели. Таким образом я уменьшаю беспорядок на панели вкладок.
Кроме того, Vivaldi имеет встроенную функцию под названием «Гибернация вкладок», которая позволяет браузеру использовать все свои ресурсы на активной вкладке вместо всех фоновых вкладок.
Я также недавно начал играть с выбором вкладок, чрезвычайно полезной функцией для отправки команд на несколько вкладок. Эта функция ограничена в Chrome. Если я хочу работать с большим количеством вкладок, я выбираю их на панели вкладок с помощью клавиши Ctrl или Shift. Клавиша Ctrl выбирает отдельные вкладки, клавиша Shift выбирает диапазон вкладок.
Вкладки
Где мои вкладки?
Откроется список всех открытых в браузере вкладок.
Страница в новой вкладке
Новая вкладка
Переход между вкладками
Закрытие вкладок
Если вы хотите, чтобы при закрытии браузера также закрывались все вкладки:
Если у вас открыто более 100 вкладок, браузер может автоматически закрывать те, которые вы дольше всего не смотрели:
Вкладки на других устройствах
После синхронизации в браузере отображаются вкладки, открытые на компьютере, планшете или смартфоне.
Просмотреть вкладки, открытые на других устройствах
Если вы не нашли информацию в Справке или у вас возникает проблема в работе Яндекс.Браузера, опишите все свои действия по шагам. Если возможно, сделайте скриншот. Это поможет специалистам службы поддержки быстрее разобраться в ситуации.
Вкладки
Где мои вкладки?
В правом нижнем углу нажмите значок с количеством вкладок (, если открыто три вкладки):
Откроется список всех открытых в браузере вкладок.
Страница в новой вкладке
Чтобы перейти на вкладку, открытую в фоновом режиме, нажмите значок с количеством вкладок (, если открыто три вкладки) и выберите нужную.
Новая вкладка
Переход между вкладками
Закрытие вкладок
Если вы хотите, чтобы при закрытии браузера также закрывались все вкладки:
Если у вас открыто более 100 вкладок, браузер может автоматически закрывать те, которые вы дольше всего не смотрели:
Вкладки на других устройствах
После синхронизации в браузере отображаются вкладки, открытые на компьютере, планшете или смартфоне.
Просмотреть вкладки, открытые на других устройствах
Если вы не нашли информацию в Справке или у вас возникает проблема в работе Яндекс.Браузера, опишите все свои действия по шагам. Если возможно, сделайте скриншот. Это поможет специалистам службы поддержки быстрее разобраться в ситуации.
Много вкладок — снижаем потребление памяти браузером
Категорически важная информация для пользователей, которые любят держать в своём обозревателе одновременно открытыми много вкладок и ничего с собой поделать не могут — значительно снизить потребление оперативной памяти браузером можно очень легко и непринуждённо (естественно, полностью бесплатно).
Как уменьшить потребление оперативной памяти браузерами
Однажды уже пытался найти универсальное решение этой проблемы, но оно оказалось далеко не всем пользователям удобным.
Сегодня расскажу про абсолютно автоматический метод снижения жора оперативки ненасытными программами для серфинга в сети Интернет, который наверняка понравится большинству читателей.
Что даёт снижение потребления памяти обозревателями сети
Этот вопрос чаще звучит от неопытных пользователей — мощное ускорение работы браузера, операционной системы и любых параллельно запущенных компьютерных программ это даёт.
Ещё, если у Вас в настройках указан запуск с ранее открытыми вкладками (что очень удобно — я лично использую постоянно, во всех своих обозревателях)…
…то использование описанного ниже расширения очень сильно сократит время запуска любого браузера.
Сколько памяти нужно современным браузерам
Прямо сейчас у меня параллельно Microsoft Edge на Chromium запущен Google Chrome с всего 4-мя открытыми сайтами во вкладках, которые потребляют вместе около 650 Мб оперативной памяти компьютера. А теперь умножьте всё это безобразие на 10, к примеру…
Дело в том, что современные программы для просмотра интернет-страниц выделяют каждой своей открытой вкладке отдельный кусочек указанного выше ценного системного ресурса, чтоб в случае зависания или сбоя одной, другие продолжали работать.
Читайте также на сайте:
Можно ко всему этому добавить ещё пару десятков активных расширений с приложениями, которые постоянно ждут, когда мы к ним обратимся за помощью, предзагрузку страниц и всех ссылок на них в фоновом режиме, чтоб быстрее открыть их, если вдруг пользователь захочет кликнуть на одну из них.
А тут ещё и сайты уже далеко не статичные HTML-страницы, как были раньше. Теперь они забиты скриптами, сжатыми стилями, сложными функциями, хитрыми рекламными кодами. которые нужно браузеру успевать за доли секунды обрабатывать.
Не забываем про встроенные читалки, проигрыватели мультимедиа, архиваторы, шифраторы надёжных паролей, службы уведомлений… Тут уже не спасут оптимизаторы оперативной памяти — только расширение Tab Wrangler поможет.
Сделал очень грубый замер, на скорую руку, в диспетчере задач Windows до оптимизации девяти запущенных вкладок…
Волшебное расширение Tab Wrangler
Итак, работает оно во всех популярных обозревателях (даже в Вивальди, но про это позже) и выглядит абсолютно одинаково в них.
Алгоритм действий следующий:
Количество вкладок, которые не будут оптимизироваться тоже пока оставляйте по умолчанию, а чтоб избавиться от одинаковых страниц (дублей) — поставьте точку на третьем пункте «Если адрес страницы и её название совпадают».
Задать адреса для зафиксированных вкладок и создать/восстановить резервную копию (!) оптимизированных, выгруженных из оперативки вкладок можно позже…
…как и поиграться с горячими клавишами расширения…
Всё, теперь наблюдаем за работой оптимизатора оперативной памяти под названием Tab Wrangler в браузере.
Заглядываем во второй раздел всплывающего окна расширения «Открытые вкладки» и наблюдаем в нём свои закреплённые (если были у Вас) и активные в данный момент времени, с обратным отсчётом, если они превышают количественный лимит выставленный Вами в настройках…
Себе указал в настройках одну вкладку не закрывать и 2 минуты бездействия для закрытия, поэтому на скриншоте выше «тикают» 4 штуки, а одна остаётся с зацикленным таймером.
Если указали не закрывать 5 штук — значит счётчик будет работать только на шестой, а по истечении срока она выгрузится из памяти в первый раздел окна Tab Wrangler под названием «Список вкладок»…
Тут подобные «замороженные» вкладки можно хранить хоть до потопа и собирать их сотнями штук (в «Опции» выставляется предел) — присутствует сортировка и встроенный поиск по ним.
Да, при перезагрузке браузера или операционной системы «холодные» табы останутся в первом разделе окна расширения.
При клике по названию страницы (вкладки) — она моментально восстановится и Вы сможете продолжить знакомство со страницей открытой в ней. Кстати, как видите — это название отображается куда виднее и понятнее, чем в сжатом до нескольких миллиметров табе среди десятков коллег в своей панели (когда накапливается много вкладок).
Любой сайт можно легко зафиксировать методом установки галки в его строке во втором разделе Tab Wrangler…
Из списка выгруженных и находящихся в режиме ожидания вкладок можно удалять их, как по одиночке, так и целыми пачками…
…как и восстанавливать (активировать)…
И последнее — расширение Tab Wrangler можно ставить на паузу соответствующей кнопочкой в правом верхнем углу.
Наверняка, кто-то не понял моего немного сумбурного объяснения работы этой «морозилки» для вкладок, но уверяю Вас — легко поймёте что к чему, буквально за несколько минут использования его.
Откуда скачать и как установить Tab Wrangler
Как говорил в самом начале обзора — это расширение работает абсолютно во всех браузерах и имеет одинаковый интерфейс везде.
Для Mozilla Firefox Вы его найдёте в их фирменном магазине (прямо из браузера)…
Для всех обозревателей на базе Chromium — даю официальную ссылку…
(Просто перейдите по ней из своего браузера)
Скринами из Google Chrome и Яндекс.Браузера не буду уже захламлять статью — работает расширение и в них (проверил лично).
Вот такое универсальное, функциональное, удобное и автоматическое расширение поможет решить проблему чрезмерного потребления оперативной памяти любым браузером.
Любители держать открытыми много вкладок могут вздохнуть с облегчением и наслаждаться быстрой работой обозревателя и операционной системой.
Лично у меня выработана привычка держать открытыми одновременно не более 6-7 табов (лишние просто закрываю — в голову даже не укладывается, зачем больше нужно использовать), а вот у любимой жены их постоянно великое множество собрано на панели — пойду установлю Tab Wrangler в её браузер, открою второе дыхание постоянно задыхающемуся от нехватки памяти компьютеру.
Тематическое видео отыскал в сети Интернет только на английском языке — можете отключить звук и просмотреть ролик без него (чтоб визуально понять о чём шла речь в обзоре выше)…
ПОЛЕЗНОЕ ВИДЕО
Почему не стоит открывать одновременно много вкладок в браузере и как снизить нагрузку на ПК?
Нередко люди жалуются на снижение скорости работы своего компьютера из-за большого количества одновременно открытых вкладок браузера. В такой ситуации можно винить браузер, использовать специальные расширения для работы с вкладками, а можно просто отучить себя от вредной привычки постоянно открывать огромное количество неиспользуемых веб-страниц.
Почему в браузере зачастую открыто много вкладок?
Люди часто оставляют вкладки браузера открытыми, чтобы дочитать статью, досмотреть видеоролик, сериал или фильм, а потом благополучно забывают об их существовании. У многих пользователей активировано автоматическое сохранение открытых вкладок браузера, а это означает, что после его закрытия и последующего запуска вкладки никуда не деваются, а остаются открытыми. Забыв о ранее открытых веб-страницах, пользователь, не задумываясь, открывает еще несколько сайтов и начинает заниматься своими делами.
Не все понимают, что забытые вкладки браузера продолжают быть активными и снижают производительность компьютера, особенно при использовании требовательных к объему оперативной памяти браузеров вроде Google Chrome. В связи с этим рекомендуется сохранять адреса интересных сайтов в закладки, а открытыми держать только те веб-страницы, которые действительно используются постоянно. Кроме того можно установить специальное расширение, которое временно замораживает ненужные вкладки.
Сколько вкладок браузера можно держать одновременно отрытыми?
Можно держать открытыми хоть 50 вкладок браузера, если при этом ваш компьютер продолжает работать без каких-либо «тормозов».
Однако существует сразу несколько причин, по которым этого делать не стоит. Во-первых, когда в браузере открыто слишком много вкладок, вы попросту перестаете видеть содержание каждой из них, переключаетесь наугад и тратите кучу времени на поиск нужной веб-страницы.
Во-вторых, гораздо удобнее добавлять нужные сайты в закладки или на экспресс-панель, чтобы в нужный момент вернуться к ним. Кроме того можно ориентироваться по истории посещений либо использовать веб-сервисы, предназначенные для создания и хранения заметок, наподобие Evernote.
В-третьих, рекомендуется держать открытыми не более 9 вкладок браузера, потому что подобный подход позволяет обеспечить удобную работу с горячими клавишами. С помощью клавиатурных комбинаций Ctrl + 1, 2, 3…9 вы сможете быстро перейти на нужную веб-страницу и при этом всегда будете видеть названия всех открытых вкладок.
Если вы используете ноутбук или компьютер с хорошими характеристиками и достаточным объемом ОЗУ (8 Гб и более), количество одновременно открытых вкладок браузера может быть неограниченные, весь вопрос в удобстве подобного подхода. Но на слабеньких ПК уже при 10 одновременно открытых веб-страницах пользовательское устройство начнет работать на порядок медленнее.
Что случится, если в браузере будет открыто слишком много вкладок?
Важно понимать, что для каждого открытого сайта запускается свой собственный процесс, который потребляет ресурсы, в основном оперативную память. Первым намеком на то, что неплохо бы уменьшить количество открытых вкладок браузера, будет появления тормозов при переходе с одной вкладки на другую. Когда выделенная для работы браузера оперативная память закончится, вкладки практически перестанут загружаться и производительность компьютера заметно снизится. Для обеспечения стабильной и быстрой работы ПК необходимо периодически следить за тем, чтобы показатели, демонстрируемые в диспетчере задач, не достигали пиковых значений.
Еще один возможный вариант развития событий: браузер попросту зависнет и перестанет реагировать на какие-либо действия, в том числе и на попытки его закрыть. В конечном итоге всплывет окошко с сообщением о том, что программа не отвечает и пользователю будет предложено завершить зависший процесс или подождать. Вполне возможно, что для возобновления комфортной работы придется перезагружать пользовательское устройство.
Если ваш ноутбук обладает минимально допустимыми характеристиками или он уже «старый», то от большого количества одновременно открытых в браузере вкладок он может перегреться и просто отключиться без какого-либо предупреждения. Если помимо браузера пользователь работал еще в какой-то программе, после внезапного выключения, не сохраненные данные, могут быть утеряны.
Советы и выводы
Если у вас слабый ноутбук или ПК, в первую очередь стоит подобрать браузер, который потребляет меньше всего оперативной памяти. Самые популярные браузеры потребляют следующее количество оперативной памяти при 10-12 открытых вкладках:
Из приведенных выше цифр понятно, что для слабых ПК Google Chrome не подойдет ввиду своей «прожорливости». Самыми экономичными вариантами в плане потребления оперативной памяти на сегодняшний день являются Opera и Яндекс.Браузер.
Если ваша деятельность не позволяет сократить количество одновременно открытых вкладок браузера, то для оптимизации работы можно использовать специальные программы. Например, для браузера Firefox доступно расширение OneTab. Достаточно установить данное дополнение, кликнуть по соответствующему значку в верхней панели справа, после чего все открытые вкладки браузера превратятся в активные ссылки и сгруппируются на одной странице.
Как показывает практика, подобный подход позволяет освободить сотни мегабайт оперативной памяти.
Дайте знать, что вы думаете по этой теме материала в комментариях. Мы очень благодарим вас за ваши комментарии, лайки, отклики, дизлайки, подписки!
Дайте знать, что вы думаете по данной теме статьи в комментариях. За комментарии, отклики, дизлайки, лайки, подписки огромное вам спасибо!