Как стать автором
Обновить

Комментарии 44

Новый режим будет включён в состав Firefox 48 и активирован по умолчанию для тестирования у примерно 1% пользователей, не использующих дополнения. В сентябрьском выпуске Firefox 49 планируется включить многопроцессный режим для всех пользователей, которые не используют дополнения.

https://www.opennet.ru/opennews/art.shtml?num=44564
будет опция для включения?
browser.tabs.remote.autostart = true
dom.ipc.processCount = равным кол-ву ядер или больше
extensions.e10sBlockedByAddons = false

Статус можно посмотртеть в about:support → «Многопроцессные окна»
extensions.e10sBlockedByAddons сбрасывается при перезапуске браузера, поэтому имеет смысл загнать его в user.js, откуда он будет подхватываться автоматически.
https://wiki.mozilla.org/Electrolysis#Enabling_and_Disabling_Electrolysis_on_Beta

Just go to about:config and toggle browser.tabs.remote.autostart to true. On your next restart, e10s should be active. To verify that it is active, go to about:support and look for a number higher than 0 in «Multiprocess Windows».

Если используются расширения, то — you can create and set to true a pref called browser.tabs.remote.force-enable.
Еще была статья на Хабре «Многопроцессный Firefox 44.b, оптимизация Electrolysis» https://habrahabr.ru/post/276321/
речь не идет о разделении процесс-на-вкладку


К слову, в Chrome/Chromium не совсем «процесс-на-вкладку» — вкладки группируются, один процесс обрабатывает несколько вкладок. Причём часто — не связанные между собой сайты. Это можно увидеть в диспетчере задач браузера, или когда несколько вкладок падают одновременно из-за проблем на одной из них.

Как в Edge — не могу сказать.
Порождённые вкладки (и всякие всплывающие окошки) одного домена предполагают возможность управления ими из «родительской» вкладки (даже если эта возможность не используется), потому они все обрабатываются в рамках одного процесса. В остальных случаях всегда используется отдельный процесс на каждую вкладку. Не связанные между собой сайты, обрабатываемые в разных процессах, всё равно могут упасть одновременно (при ошибке в корневом процессе браузера, управляющего коммуникацией песочниц с GUI).
Хм. Спасибо.
одного домена


Вы в этом моменте уверены? Во-первых, у меня группируются вкладки с разных доменов.
Во-вторых, см. https://habrahabr.ru/post/282880/.

Картинка, на всякий случай:



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


Например, только что открыл Google, набрал в поиске слово «пример», понажимал средней кнопкой на первые пять ссылок — они все оказались в одном процессе.

Это особенно заметно, когда в случае сбоя одновременно «падают» сразу несколько вкладок с разных сайтов.
Дочитайте окончание комментария.
Изначально заявлялось об изоляции процессов и повышенной безопасности в связи с этим. Не знаю насчёт безопасности, но стабильности это браузеру не добавило.
Чуть внимательнее, ровно последнее предложение.
См. скриншот выше и пример воспроизведения.
Не связанные между собой сайты, обрабатываемые в разных процессах, всё равно могут упасть одновременно (при ошибке в корневом процессе браузера, управляющего коммуникацией песочниц с GUI).


При этом упадёт всё целиком, скорее всего — и таких ошибок я не видел что-то, емнип.
А вот падающую группу вкладок (которые работали в одном процессе) — вполне.
Ваш ответ понятен, вы дополнили тот факт, что «с одного домена» — не слишком точное утверждение, что вкладка, порождённая из одного домена, может уже успеть «уйти» на другой домен. Совет дочитать мой комментарий до конца был адресован не вам.

Да-да, всё именно так.


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

Отсылкой на конец того комментария я как бы предлагаю вариант, по которому могут упасть вкладки, управляемые заведомо разными процессами.
Да-да. Но см. вопрос, на который вы отвечаете — там не было о «заведомо разных процессах».
Вопрос выглядел как
Это особенно заметно, когда в случае сбоя одновременно «падают» сразу несколько вкладок с разных сайтов.


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

Мне как раз всё понятно, я вам пытаюсь объяснить, что вот этот ваш ответ был не совсем верен.

Я вам объяснил, что он был верен и адресован не вам. Если объяснения вами не поняты, то, думаю, на этом стоит прекратить данную дискуссию, ни к чему хорошему она не приведёт.
Почему Мозилла так упорно не хочет реализовывать принцип «процесс-на-вкладку»?
НЛО прилетело и опубликовало эту надпись здесь
Поток упав может потянуть за собой весь процесс, а процессы назависимы от родителей
НЛО прилетело и опубликовало эту надпись здесь
Реализуй сам. Несложный скрипт и каждое новое окно мозиллы запускается отдельным процессом. Правда я не знаю, в чём тут профит, был один процесс на 2 гига памяти, станет десять по 400 мегабайт.
Каждая вкладка живет своей жизнью, откуда вытекают плюсы по стабильности/безопасности. Спасибо за совет по реализации, но мой вопрос так и остался без ответа :D

Мозилла то хочет, но не так просто это, занимает моного времени. Поэтому они идут маленькими шажками.

Тут даже вопрос, почему все уже давно пришли, а Мозилла все еще идет…
Ну так это не её зона ответственности. Гораздо проще это решается на уровне оконного менеджера. Вкладки многие из них поддерживают самостоятельно. Хотя небольшой скриптик для интеграции не помешал бы, хотя бы в рамках примера и документации.

Забавная картинка: со стороны серверов хотят уменьшать число процессов/потоков у сервера до числа физических ядер (плюс минус HT) и асинхронно процессить больше число запросов, подключений. И это даёт выигрыш в производительности. Для HTTP серверов это применимо в полной мере.


А вот со стороны тех, кто к ним подключается все хотят видеть всё в точности до наоборот :) Да, в одной вкладке может быть несколько подключений, но самих вкладок тоже может быть много.


По мне, так в мозилле раздражает именно тормоза GUI, если кто-то затормозил вкладку. Это можно вынести в отдельный процесс (собственно — уже). А вот вкладки было бы неплохо процессить на пуле воркеров. ИМХО.

Сервер обрабатывает подключения тысячами — процессы становятся дорогими, при этом ради экономии из него вырезаются всякие ненужные свистелки — один процесс справляется с большим количеством однотипных задач с кешируемым результатом. На клиенте всё наоборот — одновременных соединений/работающих вкладок единицы, при этом каждая страница обвешана свистелками по самое дальше некуда. Плюс сейчас тенденция часть работы переносить с сервера на клиент.

Да это понятно. Вообще проблема 10K (или уже 1M актуальна?) известная тема. Интересно посмотреть на развитие варианта Мозиллы: процесс на GUI, процесс (судя по всему пул процессов в перспективе) для страниц. Судя по всему они почти серверный вариант и собираются делать.


Меня лично в Мозилле раздражали(ют) только фризы GUI, фризы на реакцию при вводе текста на странице, падения от планинов. Второе починили, а вот падения вообще у меня случаются в год несколько раз, но по пальцам пересчитать можно — не слишком беспокоит.

День, когда это произойдёт, будет одним из грустнейших дней в моей жизни. Не таким грустным, когда убили оперу, конечно…

За полтора года, что я пользуюсь FF браузер не падал ни разу. Вкладок несколько сотен (правда выгружаются неиспользуемые). Лично для меня многопроцессность не добавит стабильности. Что там ещё из плюсов? Безопасность? Вынести все вкладки в один процесс, запускающийся в песочнице — будет достаточно безопасно.

Сейчас FF кушает свой гигабайт памяти и не раздражает меня кучей процессов в «диспетчере задач» в отличии от хромообразных.
Полностью соглашусь. А возможность группирования вкладок, хотя и специфическая, очень помогает в работе с разными веб и сетевыми приложениями.
Вы просто попробуйте включить многопроцессный режим — он давно уже доступен для тестирования. Проблемы с выжиранием памяти нет, вкладки также грузятся по необходимости, при этом отзывчивость — небо и земля с тем, что без него. Падений так же не наблюдается.

Главный плюс здесь — скорость. С момента обновления на FF 46.0.1 включил этот многопроцессный режим и с тех пор не выключаю, т.к. теперь вкладки наконец перестали тормозить UI.
Раньше стоило лишь загрузить что-то громоздкое, как весь UI начинал еле ворочаться. Например, панель управления MS Azure не позволяла браузеру работать с чем-то ещё — если уж она открыта, скроллинг тормозил на всех вкладках.
Или вот Skype for Web, сравните его поведение в Chrome и FF без этой фичи. Во втором случае невозможно же пользоваться: начинает казаться, что они мне в браузер полный эмулятор .NET framework, написанный на JS, подгружают. А ведь мессенджер — это такая вещь, которая всегда должна быть открытой. И значит, браузер будет тормозить на постоянной основе, во всех вкладках.
Вот поэтому и нужно разделение, чтоб тяжёлые вкладки висели отдельно и не мешали всему остальному, включая UI.

Потому что разработчики расширений уже заточились (не знаю точно, каким образом) на однопроцессность. Поэтому и включают пока только у тех, кто расширений не использует.
Не знаю, но это один из нюансов, из-за которого я пользуюсь именно Мозиллой, а не Хромом. Это более эффективно, чем многопроцессность, список задач не загажен десятками клонов хрома, а гипотетический вопрос стабильности («падение одной страницы кладёт весь броузер»), честно говоря, я уже и не помню, когда мне досаждал. Последний раз не в этом году, уж точно.
НЛО прилетело и опубликовало эту надпись здесь
> Electrolysis

Я понимаю, что «Электролиз», но прочитал поначала как электролис. И подумал, что такое название очень подходит к идее )
Э8с.
Тестировал на домашнем компьютере (i5-4670, 8гигов оперативки и ssd) этот электролиз, для меня особо ничего не изменилось, весь браузер так и вешается при тормозе из вкладки (к примеру при открытии twitch стрима в новой).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий