Как ускорить Chrome и Firefox в разы простым переносом профиля в ОЗУ

Одна web-страница может содержать несколько сотен отдельных элементов: файлы, графические изображения, программы JavaScript, файлы оформления CSS и множество других. Во время загрузки страницы все это сохраняется на жесткий диск, что приводит к общему замедлению работы браузера и повышению износа носителя. Проект Profile-sync-daemon (psd) переносит кэш браузера в оперативную память, что устраняет описанные выше проблемы.

Ускорение Chrome и Firefox

Согласно новейшему исследованию британских ученых, скорость доступа к ОЗУ в миллион раз выше, чем скорость доступа к жесткому диску. Поэтому в некоторых случаях имеет смысл сохранять файлы в ОЗУ и уже в фоновом режиме синхронизировать их с содержимым на диске. Так и поступает программа Profile-sync-daemon, переносящая файлы в tmpfs с помощью хорошо известного механизма символьных ссылок и синхронизирующая данные с использованием средства rsync. Все операции осуществляются прозрачно для пользователя, от которого требуется лишь установить программу и пристегнуть ремни, чтобы не вывалиться из кресла из-за ультравысокой скорости web-серфинга.

Установка Profile-sync-daemon

Установка осуществляется через подключение частного репозитория ppa:graysky/utils:

sudo add-apt-repository ppa:graysky/utils
sudo apt-get update
sudo apt-get install profile-sync-daemon

Теперь потребуется открыть конфигурационный файл /etc/psd.conf и произвести несколько простых настроек.

Прежде всего, найдите переменную USERS и укажите пользователей, для которых будет активирован Profile-sync-daemon. Далее найдите строку BROWSERS, содержащую имя используемого браузера и раскомментируйте ее. Теперь можно запустить сервис:

sudo service psd start

Список поддерживаемых браузеров

  • Chromium
  • Conkeror
  • Epiphany
  • Firefox (stable, beta, and aurora)
  • Google Chrome (stable, beta, and dev)
  • Icecat (GNU version of Firefox)
  • Iceweasel (Debian version of Firefox)
  • Inox
  • Luakit
  • Midori
  • Opera, Opera-Beta, Opera-Developer, and Opera-Legacy
  • Otter-browser
  • Palemoon
  • QupZilla
  • Rekonq
  • Seamonkey
  • Surf
  • Vivaldi

В 48-й версии Firefox появился режим Electrolysis, позволяющие прорисовывать страницы сайтов параллельно в разных процессах (а не потоках). Это дает 7-кратный прирост скорости и повышает безопасность. Инструкция по включению Electrolysis в Firefox.

Ваша оценка: Нет Средняя оценка: 4.2 (6 votes)
comrade

Можно и без программы это сделать.

Как я здесь уже писал больше года назад:
http://liberatum.ru/exclusive/prostye-sovety-po-uskoreniyu-ubuntu#commen...

Оттуда:

Ускоряет работу (и сберегает ваш жёсткий диск или SSD) использование RAM-диска.
(Если оперативной памяти не слишком мало, конечно...) Например, tmpfs – динамический рам-диск – он во многих линуксах уже подключён и используется системой.

Можно на него перенаправить кое-какие каталоги:
Добавьте в /etc/fstab

tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/cache/apt/archives tmpfs defaults 0 0

Можно ещё
tmpfs /var/log tmpfs defaults 0 0
Но это в меру вашей испорченности:-))

Если у вас SSD, туда же каталог .thumbnails из папки пользователя...

(В свежих убунтах строки чуть другие!
Смотри ниже Дополнение от 04.2015)

И firefox надо научить – его кэш отправлять в /tmp на рам-диске:
• в адресной строке вводим about:config
• кликаем в любом месте правой кнопкой, выбираем New -> String
• в качестве имени параметра задаём browser.cache.disk.parent_directory
в качестве значения — путь к папке где будет храниться кэш. Например, /tmp
• Перезапускаем firefox
(Старый кэш потом не забудьте стереть! Может быть не маленьким... Найдёте его в ~/.mozilla/там/увидите/cache/)

Дополнительно можно ускорить фаерфокс, если в about:config поменять:
network.http.pipelining — двойной клик на строке, чтобы изменить на true
network.http.pipelining.maxrequests — правый клик на строке и изменить на 8 или 10
network.http.proxy.pipelining - двойной клик на строке, чтобы изменить на true

Chromium Cache – на RAM-disk:

Измените ярлык запуска Chromium (или Google Chrome), указав в параметрах команды запуска новое расположение кеша и его размер в байтах, например ChromiumCache и 200Мб:

chromium-browser --disk-cache-dir=/tmp/ChromiumCache --disk-cache-size=209715200

Каталог создастся автоматически.

_________________________________
Учтите, что рам-диск отъест половину памяти!

Так что на 512Мб его лучше не заводить.

Да и на 1Гб возможно тоже. Хотя на Xfce или Lxde, или чём ещё полегче, вроде нормально работает и "ускоряет" :-)

================
Дополнение от 04.2015
В новых убунтах требуется другой формат строк для tmpfs в /etc/fstab
Например для /tmp

tmpfs /tmp     tmpfs defaults,noatime,mode=1777 0 0
Ваша оценка: Нет Средняя оценка: 5 (4 votes)
pomodor

Вот видите, выкладываете полезную информацию в комментариях, а не в отдельном топике и никто ее не замечает! ;)

Ваша оценка: Нет
comrade

Я, всё-таки, стараюсь свои более-менее оригинальные раскопки в виде отдельных статеек оформлять, а тут откровенная компиляция из двух чужих статей.

Но как комментарий покатит:)))

Как шутили в науке в советские времена:
"Списал с одной работы – плагиат,
с двух – компиляция,
с трёх – реферат,
а с четырёх – диссертация".

Нынче, правда, это не шутка, а руководство к действию ((-;

Ваша оценка: Нет
pomodor

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

Ваша оценка: Нет
comrade

Получается, что для быстрого интернета и SSD лучше "мой" способ, а для медленного интернета и HDD – эта программка.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)

опробовал, спасибо. профит неслабый!!!

единственное, что - у меня не огнелис, а опера, но по практически тому же принципу

Ваша оценка: Нет
dk

пардон, коммент мой, протупил с логинами, в процессе теста браузера )))

Ваша оценка: Нет

То есть для переноса кэша достаточно создать строку в Firefox browser.cache.disk.parent_directory со значением /tmp или всё-таки /tmp/fcache?
А для переноса системного кэша эти строки в файл /etc/fstab:

tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/cache/apt/archives tmpfs defaults 0 0

Без установки доп. программ. Я правильно понял?
Linux Mint 18.

Ваша оценка: Нет

/tmp или всё-таки /tmp/fcache?

абсолютно без разницы. Для наглядности — /tmp/fcache

А для переноса системного кэша эти строки в файл /etc/fstab:

это не системный кеш. В tmpfs удобно монтировать директории, которые используются для интенсивной записи данных на диск

То есть для переноса кэша достаточно создать строку в Firefox

нет, кеш и профиль — разные вещи. Но если вы понаблюдаете за работой то увидите, что фокс пишет много в профиль. К тому же там как раз находятся базы данных sqlite. Поэтому перенести профиль тоже имеет большой смысл. Дополнительно к кешу. И сравните в работе

upd: наверно не это хотели услышать. Действительно для переноса кеша хватает browser.cache.disk.parent_directory

Ваша оценка: Нет
pomodor

Установил. На месте профиля в домашней директории появилась ссылка другую директорию в /run/shm. По ощущениям, работать стало быстрее, хотя на скорость и раньше не жаловался. Для тестов потребовалось поискать нагруженный сайт. В результате, использовал любимый сайт Мистера Бизона. Когда придумаю как сделать замеры, выложу числовые показатели до и после.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

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

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
pomodor

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

Вопрос про кэш записи хороший! :)) А ведь действительно. Но могу сделать предположение, почему его недостаточно. По-моему, нужен этот кэш не для ускорения доступа к данным, а для того, чтобы ОС имела возможность отложить процесс записи в пользу более важных в данный момент операций. Поэтому, чтение он не ускоряет.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
woller

"Британские ученые уже давно выяснили" -тонкий юмор, или вся статья стеб?

Ваша оценка: Нет Средняя оценка: 2.3 (3 votes)

яростно плюсую comrade

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

Ссори за флуд, но когда меня в предыдущем комменте назвали Наташей Ростовой я опешил и пошёл регистрироваться.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
pomodor

Добро пожаловать! :) Замечу лишь, что Наташа Ростова — это еще не самое крепкое ругательство на этом сайте. :)

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

PSD переносит профиль, но не сам браузер и кеш. Сам я использую сампоисный скрипт, что грузит в оперативку и сам бразуер и профиль и кеш, включая флеш плеер — он тоже вызывается из оперативы, без обращения к диску. В итоге все летает. Для синхронизации использую rsync.

Ваша оценка: Нет
pomodor

А зачем переносить браузер в ОЗУ, если он после загрузки и так туда переносится? Я уже молчу о том, что есть prelink и preload.

Ваша оценка: Нет

Для скорости, а запуск браузера происходит сразу с указанием кеша и профиля, в итоге, не используютсяч символчиеские ссылке как psd, а между прочим, при высокой нагрженности диска, обращение к этим сим.ссылкам гарантированно тромознет браузер.

Ваша оценка: Нет

Жесть,
Рецепт, как сделать Хромого монстра ещё более жирным и пожерабельным к ресурсам компьютера

Ваша оценка: Нет Средняя оценка: 2.6 (5 votes)

мда... инфа категорически полезна, только вот для реального эффекта нужно от 8Гб -> больше. В нынешнее время браузеры сжирают как минимум половину ОЗУ, а если ещё и вэб кэш туда пихать...
зы: ...эх у меня только 4Гб — смысла по факту для меня ноль(ну если только 1-2 вкладки браузера юзать и то без всяких флеш игр).
И да, помню в бородатые годы ещё на покойной винде проделывал похожие фишки с вирт.дисками в озу и сменой путей "тмп директорий".. ну тогда и время было другое и запросы www гораздо скромнее ;)

Ваша оценка: Нет
pomodor

Да не так много уходит на кэш.

$ du -sh ~/.cache/mozilla
274M	/home/vasily/.cache/mozilla

А если чистить после каждой сессии, то и еще меньше.

Ваша оценка: Нет

Ubuntu 14.04,
Чтение информации о состоянии… Готово
E: Не удалось найти пакет profile-sync-daemon??

Ваша оценка: Нет Средняя оценка: 1 (1 vote)

На Ubuntu 16.04/Linux Mint 18 не работает. Во-первых, файл psd.conf не лежит в папке etc, пришлось искать по ФМ. Ладно, нашёл. Но внутри файла нет строки USERS, в строке BROWSERS нет имен браузеро, только "-", список браузеров закомментирован и выше этой строки. Далее, по команде сервис просто не запускается. Так вот.

Ваша оценка: Нет

вячеслав, сейчас эра systemd, поэтому более-менее новый софт создает сервис systemd. Запустить можно так

$ sudo systemctl restart psd

и тут же проверить его состояние, потому как к сожалению даже при неудачном старте вы мало что увидите

$sudo systemctl -l status psd

У меня например был открыт firefox при старте, чего я так понял быть не должно. Ошибка выглядела так

Jul 08 09:42:15 jtad.home profile-sync-daemon[15001]: Refusing to start; firefox is running by jtad!
Jul 08 09:42:15 jtad.home systemd[1]: psd.service: Main process exited, code=exited, status=1/FAILURE

Закрыл фокс, psd стартанул нормально
Потом вы уверены что psd установился нормально? Где нашли конфиг? Можете его запостить для сравнения
зы: сервис надо активировать, чтобы автоматически стартовал при загрузке

$ sudo systemctl enable  psd.service 
Ваша оценка: Нет Средняя оценка: 5 (1 vote)

да, кстати, сверху заметил комментарий

PSD переносит профиль, но не сам браузер и кеш.

Действительно, в about:config нехватает переменной для переноса кеша в /tmp например (надеюсь он у вас в tmpfs). Заходим в about:config, правой кнопкой New -> String -> обзываем browser.cache.disk.parent_directory. В качестве значения пишем /tmp/fcache например. После рестарта фокса убеждаемся, что в /tmp создалась директория fcache и туда сыпется всесь кеш фокса

Ваша оценка: Нет

сейчас только заметил что про кеш уже есть совет от комраде. Этот сай кладезь полезной информации, большинство в статьях, но также и в комментариях, которая к сожалению закопана и забыта. Или немного устарела. Есть предложение — если есть у автора сайта возможность и время, добавить на сайт вики (их есть же куча разных), где автор сайта и пользователи которые проводят много времени или часто бывают на сайте, типа comrade или texnoline, могли бы выудить инфу из статей и интересных комментов, а потом дополнять и обновлять ее. Для других людей поиск инфы был бы проще. Конечно если все хотят и согласны

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
pomodor

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

Ваша оценка: Нет Средняя оценка: 5 (2 votes)

"Согласно новейшему исследованию британских ученых, скорость доступа к ОЗУ в миллион раз выше, чем скорость доступа к жесткому диску."

А-ха-ха-ха, сколько денег они на это угрохали, спросили бы любого школьника, который информатику не прогуливал, он бы им это и без исследований сказал)))

По делу: перенос профиля в ОЗУ не даст никаких преимуществ, вот перенос кеша увеличит скорость чтения данных из КЕША.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.