29 декабря 2012 в 14:38

Приручаем и прокачиваем огнелиса: The Ultimate Guide tutorial recovery mode

Подчини себе этого 9-хвостого лиса

Лирическое вступление


Не люблю гонку версий, своей бессмысленностью отдаленно напоминающую гонку вооружений. Не успели как следует довести до ума текущую версию — выпускают новую, с новыми багами, уязвимостями и «особенностями». Для таких как я — любителей стабильных и проверенных решений для корпоративной среды, да и для себя тоже — у команды Мозилы есть сборка типа ESR: в течение длительного времени для нее выходят обновления, устраняющие ошибки и уязвимости, сама же major версия браузера не обновляется! Вот ссылка на страницу оф.сайта, откуда можно скачать эту замечательную ESR-версию (достигается путем не слишком очевидных ходов), также, ESR можно скачать с официального FTP ftp.mozilla.org/pub/firefox/releases/latest-esr/
Только что вышла давно мной ожидавшаяся 17-я ESR версия (предыдущая была только 10-я). В связи с этим событием решил написать подробное руководство по оптимизации нашего (не)любимого браузера — с разбором всех параметров, что каждый из них делает и откуда он получен.


Часть 1. Чтоб Мозила не тормозила


1. К своему удивлению обнаружил: характерное торможение, с которым многие, наверно, сталкивались, вызывается встроенным скриптом, определяющим системные настройки прокси.
Если прокси нет — указываем это явно: «настройки — дополнительно — сеть — соединение» — «без прокси». Если наш лис работает в корпоративной среде — по возможности задаем явно прокси или скрипт proxy.pac
2. Минимум дополнений (addons): лишних не устанавливаем, из тех что установлены держим включенными только те, которые реально нужны. Помним: лишний плагин — лишняя затрата вычислительных ресурсов при прорисовке каждой страницы. Собственно плагины (plugins): отключаем по максимуму все, и в первую очередь dotnet, DRM, java quick start. В условиях корпоративной среды принимаем меры, чтобы эти плагины вообще не появлялись в списке установленных.
3. Ограничение объема и автоматическая оптимизация базы данных places — файла places.sqlite. Первое достигается параметром max_pages (см.ниже), второе — (теоретически) происходит штатно раз в месяц. В совеременных версиях ФФ, к сожалению, в интерфейсе не предусмотрены настройки для ограничения времени хранения и размера истории посещений страниц. Естественно, пробел этот могут восполнить аддоны. В качестве альтернативы принудительному заданию ограничения числа страниц в истории, рекомендую аддон PlacesCleaner: он производит очистку и оптимизацию БД с заданным интервалом (в днях). Если нужна только частая оптимизация, а число страниц уже задано жестко через конфиг, может быть интересен аддон Vacuum Places Improved.
4. Ограничение размера кэша до разумного размера — явно указать в настройках (или через pref). Думаю, понятно каждому: гигабайт распыленных по диску файлов и индексы всего этого скорости работы не прибавят.

Часть 2. Избавляемся от нежелательного контента


Давно прошли те времена, когда проблемой являлась загрузка, собственно, рекламных баннеров в формате gif. Сейчас зло — счетчики и централизованные баннерные сети, шпионящие, еще, к тому же, за пользователем: во-первых, скрипты, которые тяжелее «полезной нагрузки» — самой рекламной графики, во-вторых, централизованный характер: повышенная нагрузка на их сервер то и дело приводит к задержке подгрузки их контента, а не загрузив его, браузер откладывает рендеринг страницы — в результате мы ждем даже при быстром интернете… А засилье флэш-рекламы? Оно представляет собой «сейчас», по сравнению с «тогда» несопоставимо большую проблему: достаточно посмотреть, сколько памяти уходит на процесс plugin-container — сравнимо с самим браузером: новые версии adobe flash player стали очень прожорливыми и каждый лишний флэш-баннер следует расценивать как лишнее открытое приложение!
Ниже приводятся варианты решений проблемы нежелательного контента, наиболее интересных с технической точки зрения:
1. Семейство аддонов adblock — наиболее удобный и, как следствие, популярный инструмент.
Подробности
Из всего их многообразия рекомендую обратить внимание на 2: Adblock plus — самая свежая версия аддона, и на его альтернативу Adblock edge. Достоинства: начинают блокировать рекламу сразу после установки («из коробки»), умеют блокировать любой контент (картинки, флэш, скрипты) и даже убирать указанные в черном списке HTML-контейнеры прямо из страницы (по id, class...), можно как добавлять готовые подписки, так и составлять свои правила.
Недостатки: добавленная по умолчанию подписка RuAdlist+Easylist (внимание!) не блокирует счетчики; готовые наборы правил из подписок представляют из себя слишком длинные списки, что чревато растратой вычислительной мощности и оперативной памяти; нужно изучать собственный синтаксис Адблока при желании создать своё правило вручную.
Для легкого решения проблемы со счетчиками, добавляем в подписку список «Против счётчиков»: https://ruadlist.googlecode.com/svn/trunk/cntblock.txt, он легковесный — 12 кб и является единственной упомянутой здесь подпиской, которая не приводит к повышению потребления ресурсов браузером. Но он не блокирует скрипт google-analytics, поэтому требуется еще добавить правило ||google-analytics.com/ga.js
Есть еще список BitBlock — чтобы не грузились плагины от социальных сетей — кнопки фейсбучных лайков, google+ и т.п., http://ruadlist.googlecode.com/svn/trunk/bitblock.txt. Все эти дополнительные фильтры можно установить в 1 клик на странице их разработчика: https://code.google.com/p/ruadlist/
Необходимо помнить, что подписки содержат огромное число правил, в основном ненужных, из-за чего ощутимо замедляется загрузка тяжелых и сложных страниц (вроде результатов поиска картинок в яндексе и гугле) увеличивается потребление памяти: до 120 Мб с тремя подписками против 56 Мб с Адблоком без правил (браузер показывает 1 вкладку с пустой страницей). Если при наличии пары прямых рук мы не хотим жертвовать скоростью и тратить лишнюю память — удаляем все подписки (кроме, пожалуй, «против счетчиков») и создаем правила сами: вручную универсальные правила, а на часто посещаемых сайтах — в визуальном режиме блокируем все баннеры, в первую очередь флэш (у адблока есть возможность показать список элементов и иногда — создавать правило кликом мыши непосредственно по нежелательному элементу). Результат нашей работы хранится в профиле ФФ в поддиректории adblockplus (adblocklite) и эти настройки теперь можно тиражировать вместе с самим плагином на другие *upd* И еще про adblock plus: для повышения производительности обязательно отключайте в настройках (кнопка аддона, выпадающее меню) «считать срабатывания фильтров»! Адблок при каждом попадании перелопачивает мегабайтный (в случае подписок) patterns.ini — заглянул туда и ужаснулся. Не случайно Adblock edge и adblock lite поставляются с отключенным по дефолту подсчетом срабатываний фильтров. Подробнее об оптимизации Адблока читайте здесь.

2. noscript, yesscript — блокировка скриптов, помогает победить такое зло как скрипты счетчиков и баннерных сетей.
Подробности
noscript работает по принципу белого списка, есть предустановленный белый список, yesscript — по принципу черного списка.
Недостатки для noscript: специализация на блокировке скриптов, невозможность компромисса: блокирует скрипты даже для домена открытой на данной вкладке страницы, что обязательно испортит работоспособность многих сайтов, а в случае установки галки «полностью разрешить выполнение javascript» (по-моему, единственно приемлемый режим) и добавления отдельных скриптов (например, счетчиков) в черный список — сам черный список увидеть в настройках (или задать его заранее) невозможно. Ну а yesscript — реализующий адекватный алгоритм черного списка — по скудности настроек способен разочаровать даже фаната минимализма: есть только список урлов (рег. выражений?) скрипты откуда следует блокировать, его нужно создавать самостоятельно. Для сравнения: Adblock, если в нем пользоваться только самописными правилами, точно также заблокирует скрипт, но кроме него — еще и картинки, и флэш, и целые блоки HTML кода прямо в странице. Разница очевидна.

3. imglikeopera — очень интересный плагин, незаслуженно обделенный популярностью. Блокирует картинки и флэш.
Подробности
Идея заимствована из «Оперы» — кнопка, управляющая показом картинок.
Достоинства: умеет принудительно кэшировать графический контент на длительный срок, поддерживает регулярные выражения. Недостатки: не содержит предустановленных наборов правил — всё задается вручную, не управляет скриптами (но был экспериментально допилен мной, чтобы добавить и эту возможность — впечатления вызывает смешанные), в исходный код страницы — в тэги добавляет лишние параметы «ilo-full-src» и при сохранении страниц они там присутствуют.

4. Параметр конфигурации plugins.click_to_play
Подробности
и простейший аддон switch-plugins_click_to_play, создающий кнопку, управляющую данным параметром. Очень эффективный и совместимый с предыдущими решениями способ устранить отъедание памяти и загрузку процессора флэш-контентом в лице процесса plugin-container. При включенном click_to_play на месте флэш-баннера появляется серый блок с надписью «щелкните здесь для включения плагина», а в начале адресной строки появляется уведомление, кликнув по которому можно настроить запуск плагина для данного сайта.


Часть 3. Правильные настройки по дефолту


Самый простой способ развертывания ФФ с заданными настройками — положить js-файл, аналогичный prefs.js в профиле в директорию [путь установки ФФ] / defaults / preferences. Я его называю так же как и в профиле — prefs.js, но имя не принципиально, главное чтобы было расширение .js
Итак, создаем js-файл со следующим содержимым:
* upd *
# Mozilla User Preferences

pref("app.update.enabled", false);
pref("browser.cache.memory.max_entry_size", 256);
pref("browser.cache.memory.capacity", 4096);
pref("browser.display.show_image_placeholders", false);
pref("browser.download.manager.retention", 1);
pref("browser.download.useDownloadDir", false);
pref("browser.feeds.showFirstRunUI", false);
pref("browser.newtabpage.enabled", false);
pref("browser.places.importBookmarksHTML", false);
pref("browser.privatebrowsing.dont_prompt_on_enter", true);
pref("browser.rights.3.shown", true);
pref("browser.safebrowsing.enabled", false);
pref("browser.safebrowsing.malware.enabled", false);
pref("browser.search.update", false);
pref("browser.sessionhistory.max_total_viewers", 1);
pref("browser.shell.checkDefaultBrowser", false);
pref("browser.startup.page", 0);
pref("browser.tabs.animate", false);
pref("browser.xul.error_pages.expert_bad_cert", true);
pref("config.trim_on_minimize", true);
pref("dom.event.contextmenu.enabled", false);
pref("extensions.blocklist.enabled", false);
pref("extensions.shownSelectionUI", true);
pref("extensions.update.enabled", false);
pref("extensions.update.notifyUser", false);
pref("extensions.pendingOperations", false);
pref("geo.enabled", false);
pref("gfx.direct2d.force-enabled", true);
pref("gfx.font_rendering.directwrite.enabled", true);
pref("layers.acceleration.force-enabled", true);
pref("intl.charsetmenu.browser.cache", "windows-1251, UTF-8");
pref("intl.charset.default", "windows-1251");
pref("intl.charsetmenu.browser.cache.size", 2);
pref("network.cookie.prefsMigrated", true);
pref("network.dns.disableIPv6", true);
pref("network.http.pipelining", true);
pref("network.http.pipelining.max-optimistic-requests", 2);
pref("network.http.proxy.pipelining", true);
pref("network.http.request.max-start-delay", 1);
pref("network.prefetch-next", false);
pref("places.history.expiration.max_pages", 400);
pref("plugins.hide_infobar_for_outdated_plugin", true);
pref("privacy.donottrackheader.enabled",true);
pref("security.warn_entering_weak", false);
pref("security.warn_viewing_mixed", false);
pref("toolkit.telemetry.prompted", true);

Файлов js в defaults / preferences может быть несколько. Это удобно: опциональный блок параметров локализован в отдельном файле, его можно подложить на конкретный ПК в сети или удалить оттуда.

Легко сделать свой дистрибутив ФФ для Windows с правильными настройками: распаковываем инсталлятор, директорию win32 можно смело удалить, в директории core находится то, что запишется в program files. Кладём наш js-файл с правильными настройками в core\defaults\preferences. Можно сразу удалить maintenanceservice_installer.exe и maintenanceservice.exe — не засоряем ПК лишними сервисами. Получившийся распакованный дистрибутив можно устанавливать вручную или развертывать всеми возможными способами — точно так же, как и исходный exe-дистрибутив: setup.exe воспринимает все те же ключи.

Часть 4. Подробно о том, что каждый параметр делает


Источники:
{1} решение найдено мной
{2} www.latestonnet.com/2012/01/17/optimize-firefox-to-run-4-times-faster-than-before.html
{3} sonikelf.ru/optimizuruem-firefox
{4} egonitron.com/2007/05/25/the-truth-about-the-firefox-pipelining-trick
{5} techlogon.com/2012/12/02/how-to-speed-up-firefox-tweaking-guide
Первоисточник (правда, для старых версий): http://kb.mozillazine.org/Category:Preferences

Для начала о стратегии. В отличие от множества горе-оптимизаторов, я не стремлюсь поменять каждую настройку во всём подряд, включая все тонкости поведения системы на низком уровне. Вместо этого, осознанно и со здравым смыслом прорабатываются следующие направления:
1) предотвращаем причины «тормозов»
2) отключить весь лишний и мешающий функционал — уведомления, большого брата антиспуфинг, ipv6 etc.
3) экономия оперативной памяти
4) включить HTTP 1.1, но без экстремизма

нет назойливым обновлениям без спросу
pref("app.update.enabled", false);
pref("browser.search.update", false);
pref("extensions.update.enabled", false);
pref("extensions.update.notifyUser", false);
pref("extensions.pendingOperations", false);
pref("extensions.blocklist.enabled", false);
{1}

оптимизация расхода памяти
pref("browser.sessionhistory.max_total_viewers", 1);
количество страниц, сохраняемых в оперативной памяти, для быстрого перехода назад — уменьшая значение экономим память; рекомендуют ставить 0, но я (как и в {2}) считаю оптимумом 1: в подавляющем большинстве случаев нам нужен возврат именно на 1 шаг, и здесь лис порадует нас своей скоростью;
pref("browser.cache.memory.max_entry_size", 256);
pref("browser.cache.memory.capacity", 4096);
pref("config.trim_on_minimize", true);
размер кэша в оперативной памяти {1}, {3}
выгрузка страниц памяти при сворачивании окна {3}

Внимание: browser.cache.memory.capacity = 4096 означает, что будет выделено 4 Мб на кэш в памяти (значение в кб). Если свободной памяти заведомо много, рационально ставить значения в разы больше. С другой стороны, минимальный размер кэша означает, что в корпоративной среде всем будет хватать памяти…
browser.cache.memory.max_entry_size означает максимальный размер кэшируемого в память объекта (значение в кб). По идее, чем меньше, тем эффективнее расходуется память. Часто (как в {3}) неправильно принимают за параметр, определяющий размер самого кэша. Подтверждение моих слов — в самом браузере, смотреть тут: about:cache?device=memory
Видно, что заданный нами browser.cache.memory.capacity в точности отображается в строке «Maximum storage size».

отучаем от лишних вопросов
pref("browser.shell.checkDefaultBrowser", false);
нет назойливым предложениям сделаться браузером по умолчанию {1}
pref("browser.feeds.showFirstRunUI", false);
pref("browser.rights.3.shown", true);
pref("extensions.shownSelectionUI", true);
pref("toolkit.telemetry.prompted", true);
pref("browser.places.importBookmarksHTML", false);
pref("browser.privatebrowsing.dont_prompt_on_enter", true);
firefox не показывает саморекламу и ненужные напоминания при первом запуске {1}

противодействуем сбору информации
pref("geo.enabled", false);
pref("browser.safebrowsing.enabled", false);
pref("browser.safebrowsing.malware.enabled", false);
pref("privacy.donottrackheader.enabled",true);
отключить шпионаж Google и проверку урлов на фишинг — ускоряет работу: браузер делает меньше ходов {1}
посылать заголовок «do not track» {1}

интерфейс, юзабилити
pref("browser.startup.page", 0);
pref("dom.event.contextmenu.enabled", false);
pref("browser.download.manager.retention", 1);
pref("browser.download.useDownloadDir", false);
pref("places.history.expiration.max_pages", 400);
pref("browser.newtabpage.enabled", false);
pref("browser.tabs.animate", false);
pref("browser.display.show_image_placeholders", false);
открываем пустую страницу по дефолту — идеально для корпоративной среды{1}
запрещаем сайтам отключать контекстное меню {1}
лис не гадит под себя при скачивании задается вопрос куда качать {1}
очищаем историю загрузок при выходе из ФФ {1}
ограничиваем максимальное число гарантированно сохраняемых записей в истории до 400: такой подход ограничения размера базы places без плагинов — единственно возможный на современных версиях ФФ (понято из исходников и подтверждено экспериментально) {1}
в новом табе показываем по умолчанию пустую страницу без тайлов {1}
отключаем анимацию табов {5}
не показываем места для картинок — ускоряет прорисовку {5}
pref("plugins.click_to_play",true);
опционально: не загружаем плагины автоматически — устраняем проблему прожорливого флэш контента{1}

аппаратное ускорение графики
pref("gfx.direct2d.force-enabled", true);
pref("gfx.font_rendering.directwrite.enabled", true);
pref("layers.acceleration.force-enabled", true);
принудительное задействование графического ускорителя: браузер более требователен к видеодрайверу и GPU, чем игры!? Говорим твёрдое «нет» этому недоразумению! {1}

кодировки
pref("intl.charsetmenu.browser.cache", "windows-1251, UTF-8");
pref("intl.charset.default", "windows-1251");
pref("intl.charsetmenu.browser.cache.size", 2);
какие наборы символов кэшируем
кодировка страниц по умолчанию {1}
сколько наборов символов кэшируем (по умолчанию 5) {1}

сетевые настройки
pref("network.dns.disableIPv6", true);
pref("network.http.pipelining", true);
pref("network.http.proxy.pipelining", true);
pref("network.http.request.max-start-delay", 1);
pref("network.http.pipelining.max-optimistic-requests", 2);
# опционально, экспериментально
# pref("network.http.max-persistent-connections-per-server", 8);
# pref("network.prefetch-next", false);
{1-5}
отключает никому здесь не нужный IPv6
включение HTTP1.1 (множественные запросы в одном соединении) при прямом соединении и через прокси соответственно.
задержка перед превышением допустимого числа keep-alive соединений, по умолчанию 10 (сек), в {2} рекомендуется 0, я считаю, что лучше поставить не 0, а 1, сохранив некоторую задержку
снижение max-optimistic-requests с 4 до 2 по результатам моих экспериментов устраняет задержку в открытии страниц при работе через HTTP1.1;
рекомендуют увеличение с 6 (умолч.) до 8 макс. числа постоянных соединений с 1 сервером, чего я лично делать не рекомендую, наоборот, можно попробовать снижение до 4 или даже 2 (как в IE5 и 6, у которого никогда не было проблем с HTTP1.1);
отключение предзагрузки следующих страниц, в условиях корпоративной среды — нужная настройка

«безопасность»
pref("security.warn_entering_weak", false);
pref("security.warn_viewing_mixed", false);
pref("browser.xul.error_pages.expert_bad_cert", true);
отключение бесполезных вопросов о слабом шифровании и смешанном контенте, на которые все пользователи всё равно ответят «да» {1}
улучшаем юзабилити в предупреждении о самоподписанном сертификате — экономим клики (убрать полностью это предупреждение пока не удается) {1}

прорисовка страниц
pref("content.notify.backoffcount", 5);
pref("content.notify.ontimer", true);
pref("content.interrupt.parsing", true);
pref("content.notify.interval", 750000);
низкоуровневые настройки прорисовки страниц до их загрузки;
часто рекомендуют content.notify.backoffcount = 5, но никто не говорит, что нужно еще включать content.notify.ontimer, чтобы первая настройка на что-то влияла
(экспериментально, привожу этот блок в связи с тем, что раньше
постоянно рекомендовали content.notify.backoffcount = 5)

todo: найти бы способ отучить ФФ ругаться на недействительный сертификат, но пока такой настройки я не нашел
Вячеслав @noldo32
карма
1,0
рейтинг 0,0
Похожие публикации
Самое читаемое Разработка

Комментарии (90)

  • +35
    todo: найти бы способ отучить ФФ ругаться на недействительный сертификат, но пока такой настройки я не нашел

    Не стоит и искать.
  • 0
    Не совсем понятно что делать с настройками по-умолчанию, как их применить, применяются ли они на уже готовую инсталляцию и т.п.
    • 0
      Файл js кладется в директорию как сказано в статье. Или — в одноименную директорию в дистрибутиве — можно разворачивать по сети с заданными настройками
      • 0
        Подождите, как это? Дистрибутив ведь представляет собой один exe-файл?
        Или есть какая-то методика подготовки дистрибутива с комплектом плагинов?
        • 0
          Дистрибутив распаковывается (архиватором, годятся 7-zip и WinRAR), нужные файлы подкладываются, установка производится запуском setup.exe.
  • 0
    Спасибо, весьма полезно. Когда я куплю новый компьютер, я вернусь на Firefox и постараюсь настроить его так, чтобы даже современные версии не тормозили, пусть даже для этого его придётся кидать в рамдиск. Пока же приходится пользоваться Chromium.
  • +1
    У меня еще очень сильно тормозил когда на странице есть флеш. Пока все плагины отключены и активирован click-to-play режим все замечательно. Но как только включаешь какой-нибудь видос с ютюба, то все. Финиш. Пока не убьешь плагин контейнер через диспетчер — висит. Решилось отключением изолированного режима через конфиг который в систем32 лежит.
  • –1
    Недостатки: добавленный по умолчанию черный список (внимание!) не блокирует счетчики,

    www.ghostery.com/download
    • +2
      Проверил я этот ваш ghostery… Первое впечатление:
      1) не блокирует рекламу ни на mail.ru, ни на yandex, но зато — просто невменяемое число правил для иностранных ресурсов, реклама с которых нам не грозит — лишнее замедление работы (проблема решаема — можно выключить всё, что не нужно)
      2) нет возможности задать свои правила вручную (по крайней мере не вижу),
      3) общее впечатление тяжеловесности, а jquery внутри плагина (!) — вообще без комментариев
  • +1
    Откуда иллюстрация с девятихвостым лисом? Последний раз я это существо видел в тринадцатой серии первого сезона аниме «Rosario to Vampire», но здесь явно другая обстановка.
    • 0
      Наруто?
    • +1
      Как вы могли не узнать Наруто Удзумаки и Кьюби?!?!
      • +5
        Да очень просто: я вовсе не смотрю аниме «Наруто».
        • +5
          Один только сериал «Naruto Shippuden» насчитывает ужé 294 серии, не считая специальных. Если даже я сейчас начну смотреть по одной серии в день, то дойду до конца не ранее 2014 года.

          Соответственно, единственный известный мне персонаж аниме с именем, хотя бы отдалённо напоминающим «Кьюби» — это Кьюбэй из аниме «Puella Magi Madoka Magica».
          • +12
            /人 , 人\
          • +4
            В наруто более 2/3 филлеры. Даже если выборочно смотреть — оно того не стоит.
    • 0
      Если уж разговор пошёл про картинки!
      image
      ПС
      Сам использую ФФ, и нареканий нет, кроме одного, — в бета 18 часто HOME и END перестают адекватно работать. Пока списываю это на бету.
      • +14
        Здесь уместнее не упоротое чучело, а другой визуальный мем:

        [Я ЛИСА И Я НЕ ХОЧУ НИЧЕГО ДЕЛАТЬ; Я ХОЧУ ФЫРФЫРФЫР]
        • +5
          Там оно хотя бы вписано в лого ФФ. А так картинок лис полно.


          Кстати, насчёт ФФ. Вот заметил в 18 бете странную штуку. При клике по странице в тексте, — в этом месте появляется КУРСОР. Это из-за этого не работаю у меня HOME и END.
          Есть ещё у кого такой эффект? Грешить на бету, на плагины?
          • +5
            F7 нажать.
            • +1
              Помогло.
              «Caret browsing». Буду знать.
        • +31
          Увы, уже более полутора лет актуальна такая картинка:
          fatfox
    • +1
      На мой взгляд, лучшая картинка с мифическим девятихвостым лисом для этой темы. Лис неиллюзорно намекает о своей мощи, прокачанности ну и потреблении оперативы заодно и том, что приручить такого монстра надо уметь
  • +1
    Большое спасибо, автор. Выдастся свободное время — попробую ваши методы.
    Сам из-за невыносимых тормозов лисы пока перебрался на менее устраивающий меня хром. Уже пробовал и оперативку докупать и на SSD ставить — всё равно тормозит! Думал уже надо и вполне годный проц Core2Duo E8400 менять из-за этой «программы для отображения гипертекстов». Дикость!

    И отключить дополнения не предлагать — без них лиса превращается в «исследователь интернета».
    • 0
      Core2Duo E8400 менять из-за этой «программы для отображения гипертекстов».

      И правда дикость. Мой знакомый под Debian Wheezy держит открытыми десятки вкладок в Chrome и никаких, даже малейших, тормозов нет. Процессор — Pentium 4 2.8 GHz (Prescott, Socket 478, 2004 год). Мозилловцам за подобное нет никаких оправданий, при всей моей любви к огнелису.
      • 0
        Тут многое зависит от ОС, кол-ва памяти на борту и фазы луны.
        У меня беременная Мозилла с кол-вом открытых вкладок, всегда более 30, работает шустрее Хрома, который я изредка запускаю с 2-3 вкладками.
      • 0
        Согласен, проблема торможения либо в настройках, либо куче плагинов. У меня P4 нормально работает и переключается между вкладками.
    • 0
      У меня ФФ всегда летал — и на P4 (northwood), и на атоме, также как и любой другой браузер. Но хром ест слишком много памяти и самое главное — не поддается стандартизации настроек в корпоративной среде. Оба фактора мешают разворачивать его на всех рабочих местах в кач-ве стандартного браузера. А дома, где компы с 8 Гб (у меня 2 и больше не хочу) — что угодно можно юзать, без разницы.
      • 0
        У меня ФФ всегда летал
        Во-первых, у вас установлены аддоны? Если да, то сколько?
        Во-вторых, смотря что вы понимаете под «летает». Для меня это значит очень быстрое или мгновенное переключение между вкладками, открытие новых вкладок, прокрутка сайтов.
        • 0
          У меня FF работает почти так же как Chrome, может чуть чуть помедленней Хрома, но это субъективно. На лисе стоит 13 расширений и два плагина из них 11 расширений всегда включены. Стартует Лиса конечно медленней хрома это факт. Но на хроме у меня почти нет расширений.
          Вот откуда у многих берётся мнение что лиса ест память мне не понятно, после недели работы не больше 400 Мб.
          А Вам бы я посоветовал бы выяснить какое расширение тормозит всю Лису, отключайте(включайте) поочерёдно и следите. Я на 99% уверен проблема в расширении(ях).
          • +1
            Вот откуда у многих берётся мнение что лиса ест память мне не понятно, после недели работы не больше 400 Мб.
            Раньше лиса текла и реально приходилось перезапускать ее после обильного серфинга, но уже как с год они очень сильно улучшили работу с памятью и устранили протечки.
          • 0
            Стоит файрфокс без расширений с чистым профилем — тормозит адски. Запускаю изредка, дабы посмотреть, во что превратили мой любимый браузер, и взгрустнуть.
            • +1
              Если ФФ тормозит адскивыключить в настройках прокси автоопределение!!! Сам прошел через это ДОМА (core 2 duo), сильно удивлялся причине торможения, непонятно откуда взявшегося.
              И отключить антифишинг!
              • 0
                А вот почему оно у меня не тормозит, если не отъест больше двух гигов памяти (пару раз такое случалось).
        • 0
          Именно это же и имею в виду. В корпоративной среде аддонами не перегружали — imglikeopera / adblock, и кому надо: firebug, flash video downloader / download helper, colorzilla. Свистелки и перделки не практиковались: понимали, что если браузер тормозит, то виноваты сами — у соседа таких проблем нет, а у него аддонов не понаставлено. В итоге 1 Гб оперативы и нортвуда, если бить по рукам отучать от хрома, хватало по самое немогу (версии ФФ — 3.6.x и 10 esr).
  • –2
    я недавно опробовал Pale Moon, полностью основанный на ФФ. Как говорила Маша из детского мультика «Пять минут — полет нормальный». Полет нормальный уже больше 2х недель — никаних проблем по совместимости или чего там еще не заметил
    • +19
      Вы действительно не знаете, кто такой Гагарин?
  • +1
    Список доступных ESR-версий можно найти тут: http://www.mozilla.org/en-US/firefox/organizations/all.html
  • 0
    Если уж говорить про noscript, то можно упомянуть и RequestPolicy — иногда полезно.
  • –1
    Я бы еще рамдиск посоветовал. Лично у меня это вызвало наибольший прирост скорости.
    • +2
      А как же стратегическая задача экономить рам? Кроме того, можно отключить дисковый кэш browser.cache.disk.enable=false и сильно увеличить кэш в рам параметрами browser.cache.memory.max_entry_size и browser.cache.memory.capacity Разница с рамдиском: общение с кэшем идет без посредников (драйверов ФС, рамдиска, БД sqlite для кэша, множества слоев абстракций...) а напрямую. Экономятся и накладные расходы в самой памяти на лишние структуры, не нужно раздувать рамдиск (если даже он уже есть) специально ради кэша ФФ!
      • 0
        Ну на 8ми Гб озу об экономии как-то забываешь, тем более, что под лисий профиль выделен всего лишь 1024Мб.
        Я попробую Ваш совет применить на практике и сравнить результаты. Есть ли бенчмарки, которые позволят это сделать?
      • 0
        Сделал как посоветовали — быстродействие не упало, спасибо!
      • 0
        А вот Лис настолько умён, чтобы сказать винде, что память для кеша НЕ НАДО СВОПИТЬ? А то укажу я ему 100 метров в ОЗУ, а винда опять посчитает себя умнее…
        • –1
          Я при своих 2 Гб ОЗУ вообще отключил своп и никаких проблем (XP, 32бит), если же у кого 8 Гб держать своп включенным — абсурд!
          • 0
            Абсурд не абсурд, но когда с отключенным свопом кончается оперативка (я работаю с растровой графикой), то комп может на полчаса встать колом. А то и не отвиснуть вовсе.
            • –1
              Просто так, уверяю, она кончаться не может. В фотошопе, например, есть настройка, сколько задействовать ОЗУ. Про оптимизацию потребления памяти браузером — данная статья. Начинается оптимизация эта с выбора браузера: не хватает памяти — закрой хром! А про то что win7 и прочая вистоподобная дрянь — плохо, думаю, сказано достаточно, повторять не нужно. Хотя, если на борту 8 Гб и руки не кривые, даже вин7 64-бит должен работать без свопа и никогда не упираться в ограничение памяти.
              • +1
                Я профессионал. Я не буду ограничивать свой основной рабочий инструмент в потреблении памяти, мне проще докупить ещё пару плашек. Оптимизации ради оптимизаций — зло, особенно когда авторы этих «советов» совершенно не разбираются в архитектуре Windows.
  • +2
    Разбираемся что каждый параметр делает

    Источники:

    Не сразу понял где же объяснение, что каждый параметр делает. Может, пояснения будет лучше в комментарии к каждому параметру добавить? Или полный список вместе со списком литературы в конец статьи перенести?
  • +3
    Аддон Vacuum cleaner — это Vacuum Places Improved?
    • +1
      да! исправляю…
  • 0
    > список «Против счётчиков»

    Жаль там нету лайков и всяких "+1", может быть и для них есть подобный волшебный список?
    • 0
      Продублирую свой же коммент выше — www.ghostery.com/download

      Сносит все эти +1, Поделиться, ФБ-Коннект, закрывает от Метрики и Аналитикс, и прочее.
    • 0
      Да, такой список есть — обновил свою статью — называется он BitBlock и доступен на оф.странице разработчиков дефолтового RU AdList
      • 0
        Спасибо. Однако, похоже что лучше вручную добавить нужные правила из неё, т.к. не всем нужна блокировка тех же юзербаров.
  • 0
    Я вот так и не разобрался, как для одной лисы (т.е. без костылей в виде установки дев-версии) сделать в винде (вин8, но в 7-ке также, я полагаю) сделать две (для двух разных профилей) запинненых иконки в таскбаре. Т.е., в итоге, я это сделал через хардлинки, но оно глючит (кривая первая иконка, а вторая открывает новое окно, вместо того, чтобы открыть его «в себе»).
    • 0
      Два ФФ запускать одновременно?
      <путь>\firefox.exe -profile %TEMP%\FF2 -no-remote

      вместо %TEMP%\FF2 можно, естественно, указать какую-то свою директорию…
      • 0
        Не просто запускать, а именно запиннить две таких иконки в таскбар винды. Проблема в том, что винда еще и ID процесса детектит, если я правильно понимаю. Где-то я слышал, что было такое дополнение к лисе, которое позволяет разные профили с разными айди процесса запускать, но я такого не нашел.

        А ссылки у меня так и выглядят, как вы написали, только еще и «путь» разный, через хардлинк на папку.
        • 0
          Вот это дополнение: code.google.com/p/win7appid/issues/detail?id=3
          1. Качаем архив из 5-го сообщения и помещаем папку из этого архива в C:\Program Files (x86)\Mozilla Firefox\extensions
          2. Открываем файл «C:\Program Files (x86)\Mozilla Firefox\extensions\win7appid@didroe\components\win7appid.js» и меняем его как написано в 9-м сообщении.
          3. Запускаем файрфокс — нам предложат установить расширение — соглашаемся — перезапускаем. Старую иконку нужно будет отцепить с панели задач.

          Название всех AppID можно смотреть при помощи инспектора задач 7+ Taskbar Tweaker'а (если не работает сайт — можно с софтпедии скачать).

          Так же есть программа win7appid, которая умеет менять appid ярлыков. Может быть тоже сгодится.
          • 0
            С этим расширением не прокатило, проявился другой глюк (оба ярлыка открывают дефолтный профиль, независимо от аргументов запуска). Комбинация с моим начальным вариантом тоже не заработала. А вот с утилитой win7appid все получилось отлично — работает, как я и хотел. Спасибо большое за совет!

            Хотя один эстетический момент еще остался — на ярлык второго профиля я поставил другую иконку, но после запуска лисы, иконка меняется на оригинальную, но это я переживу =)
            • 0
              У меня это дополнение нормально заработало. Даже иконка остается :)
              Написал статью об этом.
    • 0
      Метод с хардлинками — вот этот? (через mklink)
      • 0
        Нет, прямо этот по ссылке не работает, но там ниже есть пост, про мклинк на папку — в таком варианте более-менее работает.

        За дополнение спасибо, буду пробовать.
  • 0
    >> добавляем в подписку список «Против счётчиков»: ruadlist.googlecode.com/svn/trunk/cntblock.txt
    на lastfm перестают работать ссылки
    • 0
      В настройках есть таб «белый список доменов»
      • 0
        но тогда включается реклама на всем lastfm
        • 0
          это лучше чем грузить скрипты счетчиков на всех сайтах
  • +1
    у команды Мозилы есть сборка типа ESR: в течение длительного времени для нее выходят обновления, устраняющие ошибки и уязвимости

    Это неправда.
    Maintenance of each ESR, through point releases, would be limited to high-risk/impact security vulnerabilities and would also include chemspills (off-schedule releases that address live security vulnerabilities). Backports of any functional enhancements and/or stability fixes would not be in scope.
    Т.е. закрываются только критичные проблемы безопасности, а остальные ошибки не фиксятся.

    Более того, вы рекомендуете людям использовать неподдерживаемую конфигурацию wiki.mozilla.org/Enterprise/Firefox/ExtendedSupport:Proposal#Proposal
    The ESR will not have the benefit of large scale testing by nightly and beta groups. As a result, the potential for the introduction of bugs which affect ESR users will be greater, and that risk needs to be understood and accepted by groups that deploy it. To help mitigate these risks, Mozilla will be asking organizations that deploy the ESR for assistance with testing alpha and/or beta builds of the ESR with their user base.
    Over time the ESR will be less secure than the regular release of Firefox, as new functionality will not be added at the same pace as Firefox, and only high-risk/impact security patches will be backported. It is important that organizations deploying this software understand and accept this.
    (...)
    The ESR is specifically targeted at groups looking to deploy it within a managed environment. It is not intended for use by individuals, nor as a method to mitigate compatibility issues with addons or other software. Mozilla will strongly discourage public (re)distribution of Mozilla-branded versions of the ESR.


    ESR предназначена только для супербольших организаций, где корпоративная политика требует перед выкаткой «новой версии продукта» многонедельного тестирования. Ожидается, что перед релизом ваш огромный IT-отдел посмотрит на ESR, и убедится что он работает конкретно в вашей корпорации, а если возникнут проблемы — самостоятельно решит их через Enterprise Working Group. Персональный пользователь, поставивший себе ESR, остается в неподдерживаемой конфигурации — его багрепорт просто не примут, если что.
  • 0
    Отличная статья, а нет ли чего-то подобного для других браузеров?
    • 0
      Будет. Смотрю в сторону Оперы (раньше, когда 9-я версия полностью справлялась со своими задачами — применял только Оперу).
      • 0
        Да, кстати, там вроде уже запилили адблок (вы будете смеяться но в осле есть тоже что-то похожее) — что снова может сделать этот браузер пригодным для серфинга.
        • 0
          В Опере есть штатный адблок, без которого на первых порах, надо признаться, было очень неудобно
          • 0
            сейчас проверил — вроде бы даже настоящий adblockplus есть, хотя на рутрекере справа баннер остаётся, странно, вроде набор правил (ruadlist) тот же…
  • 0
    Всегда убивало, что ни в Лисе, ни в Хроме нет такой простой настройки как отключение gif-анимации (в опере — два нажатия, навсегда). Да плагины есть — НО это неправильно! достаточно ведь добавить настройку animation.disable=true?

    Можно было бы конечно скачать пиратскую Visual Studio и пересобрать, вырезав из исходников анимацию, но ведь браузер тогда будет «некошерным» — собран в пиратской IDE…
    • 0
      http://kb.mozillazine.org/Firefox_:_Tips_:_Animated_Images

      image.animation_mode
      none — will prevent image animation
      once — will let the image animate once
      normal (default) — will allow it to play over and over

      P.S. Копирастия = трусость, и даже спорить не буду!
  • 0
    И ещё — тормоза есть когда открывается окно загрузок — пользователь обычно не чистит историю загрузок. А их там за полгода-год собирается достаточно много. Есть ли настройка ограничения размера истории?
    • 0
      да, есть: browser.download.manager.retention
      Indicates how long downloads are retained in the Download Manager's queue after the download is completed successfully. 0 indicates that the download should be removed upon completion; 1 indicates that completed and canceled downloads should be removed on quit; 2 indicates that downloads should never be removed automatically (default).
      (https://developer.mozilla.org/en-US/docs/Download_Manager_preferences)
      правильнее всего ставить 1

      а я всегда использую аддон download statusbar, встраиваю в панель адреса и не появляется лишнее окно загрузок, там же можно задать ограничение на историю загрузок.
  • 0
    Господа, а никто не знает, как заставить лису при переносе слова открывать не url вида «слово.com», а поисковик с этим словом?
    И то же самое со словосочетанием.
    Суть будет ясна после просмотра видео:


    UPD: Либо что-то с хабром, либо у меня, но видео не хочет вставляться.
    Вот ссылка на ютуб.
  • 0
    после установки network.http.pipelining некоторые сайты стали очень медленно открываться, очевидно сервер отбивает множественные запросы. об этой проблеме предостерегают и разработчики.
    • 0
      Действительно, такая проблема есть. (Но отбивания отбиваниям рознь: можно через iptables отбивать множественные отдельные (http 1.0) запросы с одного IP и тогда, наоборот, pipelining будет обходить это ограничение)
      Буду разбираться, в чем причина. Предположения:

      1) в новых ФФ сильно завышен верхний предел числа одновременных запросов network.http.pipelining.maxrequests: в ФФ 8 этот параметр был всего лишь 4, а в ФФ 17 его подняли до 32! Рекомендую экспериментальное снижение network.http.pipelining.maxrequests до 4...8.

      2) параметр network.http.max-persistent-connections-per-server. IE (который уже давно во всю без проблем юзает HTTP 1.1) создает максимум всего 2(!) постоянных соединения. В ФФ 8-17 network.http.max-persistent-connections-per-server = 6. Снижение до 2 может решить проблему без снижения network.http.pipelining.maxrequests

      Эксперименирую сам и жду отзывов!

      • 0
        попробовал, такая же беда. параметры были network.http.pipelining.maxrequests = 4
        network.http.max-persistent-connections-per-server = 2
        один проблемный сайт так же перестал загружаться «с ходу».

        накануне создал чистый профиль и перенёс туда пароли и закладки — работает очень быстро.
        • 0
          Да, одновременное сильное снижение обоих параметров ухудшает скорость — с указанными настройками браузер будет грузить по 8 элементов страницы, включая саму страницу. IE использует 2 соединения, но значительно больше (как раз 32 видимо — точную цифру пока не нашел) одновременных запросов. Так что возможная успешная формула network.http.max-persistent-connections-per-server = 2 и network.http.pipelining.maxrequests по дефолту (32). При 2 соединениях страница появляется сразу.
          А можно узнать, что это были за проблемные сайты?
          • 0
            местный сайт kirovnet.ru в принципе он и так не очень быстрый.
            • 0
              снижение network.http.pipelining.max-optimistic-requests с 4 до 2 здорово ускоряет работу в HTTP 1.1
              добавил в основной текст
            • 0
              UPD2: network.http.max-persistent-connections-per-server = 4 (вместо 6 по дефолту) также способствует беспроблемной работе с HTTP1.1
    • 0
      P.S. Спецификация HTTP 1.1 была представлена в 1999 году. 14 лет назад. Все нормальные (популярные) веб-сервера обязаны за такой срок научиться корректно поддерживать этот протокол (вопрос только в лимитах по умолчанию). Считаю, что продолжать по-прежнему сидеть на еще более старом HTTP 1.0 — ну, примерно то же самое, что сейчас пользоваться 16-битной ОС.
  • –1
    > И еще про adblock plus: для повышения производительности обязательно отключайте в настройках (кнопка плагина, выпадающее меню) «считать срабатывания фильтров»! Адблок при каждом попадании перелопачивает мегабайтный (в случае подписок) patterns.ini — заглянул туда и ужаснулся. Не случайно Adblock edge и adblock lite поставляются с отключенным по дефолту подсчетом срабатываний фильтров.

    Автор, что ты курил? О_о
    Паттерны синхронизируются периодически, а не на каждый хит, а в памяти имеют совсем иное представление.

    Кстати, совсем не пользоваться подписками вроде RU Adlist не разумно. Если хочется сэкономить на памяти (кстати, вовсе не 100 Мб, а метров 5-10 реально — занятая память фокса это богатая тема для разговора) и не жертвовать удобством, то лучше погонять с подписками, а потом отсортировать по колисчеству срабатываний и скопировать себе, а подписки удалить. Т.е. автоматически получишь набор правил, заточенный под те сайты, которыми чаще всего пользуешься.
  • 0
    Пока адаптировал информацию из статьи к ff 23.0.1, выяснились следующие нюансы:

    * Пару версий назад файл prefs.js переехал в browser/defaults/preferences. Это подтверждается официальной документацией Mozilla (eng.) на момент написания комментария.

    * Если хотите, чтобы при закрытии очищались куки
    pref("privacy.sanitize.sanitizeOnShutdown", true);
    pref("privacy.clearOnShutdown.cookies", true);
    
    , не забудьте добавить pref(«privacy.sanitize.migrateFx3Prefs», true); (eng.)

    И странно, что автор не посоветовал включить network.dns.disablePrefetch. Чем он лучше network.prefetch-next?
    • 0
      версий назад файл prefs.js переехал в browser/defaults/preferences

      Да, а еще вернулся defaults/pref (вместо preferences) как в 3.x. Но корневую папку defaults, видимо, скоро вообще уберут

      И странно, что автор не посоветовал включить network.dns.disablePrefetch. Чем он лучше network.prefetch-next?

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

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.