Как ускорить Chrome и Firefox в разы простым переносом профиля в ОЗУ
Одна web-страница может содержать несколько сотен отдельных элементов: файлы, графические изображения, программы JavaScript, файлы оформления CSS и множество других. Во время загрузки страницы все это сохраняется на жесткий диск, что приводит к общему замедлению работы браузера и повышению износа носителя. Проект Profile-sync-daemon (psd) переносит кэш браузера в оперативную память, что устраняет описанные выше проблемы.
Согласно новейшему исследованию британских ученых, скорость доступа к ОЗУ в миллион раз выше, чем скорость доступа к жесткому диску. Поэтому в некоторых случаях имеет смысл сохранять файлы в ОЗУ и уже в фоновом режиме синхронизировать их с содержимым на диске. Так и поступает программа 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.
Комментарии
comrade
20 февраля, 2013 - 20:41
Можно и без программы это сделать.
Как я здесь уже писал больше года назад:
http://liberatum.ru/exclusive/prostye-sovety-po-uskoreniyu-ubuntu#commen...
Оттуда:
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
pomodor
20 февраля, 2013 - 20:48
Вот видите, выкладываете полезную информацию в комментариях, а не в отдельном топике и никто ее не замечает! ;)
comrade
20 февраля, 2013 - 21:17
Я, всё-таки, стараюсь свои более-менее оригинальные раскопки в виде отдельных статеек оформлять, а тут откровенная компиляция из двух чужих статей.
Но как комментарий покатит:)))
Как шутили в науке в советские времена:
"Списал с одной работы – плагиат,
с двух – компиляция,
с трёх – реферат,
а с четырёх – диссертация".
Нынче, правда, это не шутка, а руководство к действию ((-;
pomodor
20 февраля, 2013 - 20:57
Кстати, Ваш способ без синхронизации. Фактически, кэш уничтожается каждый раз после выключения компьютера. Это создает дополнительную нагрузку, а юзер теряет время (несколько миллисекунд :). В случае PSD раз в час происходит синхронизация через cron.
comrade
20 февраля, 2013 - 21:12
Получается, что для быстрого интернета и SSD лучше "мой" способ, а для медленного интернета и HDD – эта программка.
Чингачгук
24 февраля, 2013 - 15:42
опробовал, спасибо. профит неслабый!!!
единственное, что - у меня не огнелис, а опера, но по практически тому же принципу
dk
25 февраля, 2013 - 12:15
пардон, коммент мой, протупил с логинами, в процессе теста браузера )))
Вячеслав
12 июля, 2016 - 13:16
То есть для переноса кэша достаточно создать строку в 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.
jtad
12 июля, 2016 - 14:22
абсолютно без разницы. Для наглядности — /tmp/fcache
это не системный кеш. В tmpfs удобно монтировать директории, которые используются для интенсивной записи данных на диск
нет, кеш и профиль — разные вещи. Но если вы понаблюдаете за работой то увидите, что фокс пишет много в профиль. К тому же там как раз находятся базы данных sqlite. Поэтому перенести профиль тоже имеет большой смысл. Дополнительно к кешу. И сравните в работе
upd: наверно не это хотели услышать. Действительно для переноса кеша хватает browser.cache.disk.parent_directory
pomodor
20 февраля, 2013 - 20:45
Установил. На месте профиля в домашней директории появилась ссылка другую директорию в /run/shm. По ощущениям, работать стало быстрее, хотя на скорость и раньше не жаловался. Для тестов потребовалось поискать нагруженный сайт. В результате, использовал любимый сайт Мистера Бизона. Когда придумаю как сделать замеры, выложу числовые показатели до и после.
Чингачгук
20 февраля, 2013 - 23:19
То есть, стоп, браузеры сначала сохраняют всё на диск, а потом читают с диска, то что сами туда только что записали? Да не может того быть. Алсо, разве дисковые операции в Линуксе не кэшируются? Зачем я столько лет умаунтил дискеты?
pomodor
20 февраля, 2013 - 23:40
Ну не совсем. При первой загрузке страницы файлы отображаются, конечно же, сразу и параллельно сохраняются в кэш на диске. При последующих загрузках читаются с диска только те файлы, которые не изменились. Т.к. большинство элементов страницы при переходе в пределах одного сайта не меняются, то получаем экономию на дисковых операциях чтения.
Вопрос про кэш записи хороший! :)) А ведь действительно. Но могу сделать предположение, почему его недостаточно. По-моему, нужен этот кэш не для ускорения доступа к данным, а для того, чтобы ОС имела возможность отложить процесс записи в пользу более важных в данный момент операций. Поэтому, чтение он не ускоряет.
woller
21 февраля, 2013 - 05:38
"Британские ученые уже давно выяснили" -тонкий юмор, или вся статья стеб?
Чингачгук
21 февраля, 2013 - 16:14
яростно плюсую comrade
watcher
21 февраля, 2013 - 20:39
Ссори за флуд, но когда меня в предыдущем комменте назвали Наташей Ростовой я опешил и пошёл регистрироваться.
pomodor
21 февраля, 2013 - 20:47
Добро пожаловать! :) Замечу лишь, что Наташа Ростова — это еще не самое крепкое ругательство на этом сайте. :)
Чингачгук
12 мая, 2016 - 20:30
PSD переносит профиль, но не сам браузер и кеш. Сам я использую сампоисный скрипт, что грузит в оперативку и сам бразуер и профиль и кеш, включая флеш плеер — он тоже вызывается из оперативы, без обращения к диску. В итоге все летает. Для синхронизации использую rsync.
pomodor
12 мая, 2016 - 22:01
А зачем переносить браузер в ОЗУ, если он после загрузки и так туда переносится? Я уже молчу о том, что есть prelink и preload.
Чингачгук
13 мая, 2016 - 20:20
Для скорости, а запуск браузера происходит сразу с указанием кеша и профиля, в итоге, не используютсяч символчиеские ссылке как psd, а между прочим, при высокой нагрженности диска, обращение к этим сим.ссылкам гарантированно тромознет браузер.
Чингачгук
13 мая, 2016 - 10:41
Жесть,
Рецепт, как сделать Хромого монстра ещё более жирным и пожерабельным к ресурсам компьютера
Чингачгук
17 мая, 2016 - 20:22
мда... инфа категорически полезна, только вот для реального эффекта нужно от 8Гб -> больше. В нынешнее время браузеры сжирают как минимум половину ОЗУ, а если ещё и вэб кэш туда пихать...
зы: ...эх у меня только 4Гб — смысла по факту для меня ноль(ну если только 1-2 вкладки браузера юзать и то без всяких флеш игр).
И да, помню в бородатые годы ещё на покойной винде проделывал похожие фишки с вирт.дисками в озу и сменой путей "тмп директорий".. ну тогда и время было другое и запросы www гораздо скромнее ;)
pomodor
17 мая, 2016 - 21:05
Да не так много уходит на кэш.
$ du -sh ~/.cache/mozilla
274M /home/vasily/.cache/mozilla
А если чистить после каждой сессии, то и еще меньше.
Чингачгук
2 июня, 2016 - 17:58
Ubuntu 14.04,
Чтение информации о состоянии… Готово
E: Не удалось найти пакет profile-sync-daemon??
Вячеслав
8 июля, 2016 - 10:24
На Ubuntu 16.04/Linux Mint 18 не работает. Во-первых, файл psd.conf не лежит в папке etc, пришлось искать по ФМ. Ладно, нашёл. Но внутри файла нет строки USERS, в строке BROWSERS нет имен браузеро, только "-", список браузеров закомментирован и выше этой строки. Далее, по команде сервис просто не запускается. Так вот.
jtad
8 июля, 2016 - 11:05
вячеслав, сейчас эра 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
jtad
8 июля, 2016 - 11:16
да, кстати, сверху заметил комментарий
Действительно, в about:config нехватает переменной для переноса кеша в /tmp например (надеюсь он у вас в tmpfs). Заходим в about:config, правой кнопкой New -> String -> обзываем browser.cache.disk.parent_directory. В качестве значения пишем /tmp/fcache например. После рестарта фокса убеждаемся, что в /tmp создалась директория fcache и туда сыпется всесь кеш фокса
jtad
8 июля, 2016 - 12:46
сейчас только заметил что про кеш уже есть совет от комраде. Этот сай кладезь полезной информации, большинство в статьях, но также и в комментариях, которая к сожалению закопана и забыта. Или немного устарела. Есть предложение — если есть у автора сайта возможность и время, добавить на сайт вики (их есть же куча разных), где автор сайта и пользователи которые проводят много времени или часто бывают на сайте, типа comrade или texnoline, могли бы выудить инфу из статей и интересных комментов, а потом дополнять и обновлять ее. Для других людей поиск инфы был бы проще. Конечно если все хотят и согласны
pomodor
8 июля, 2016 - 12:52
Необходимость запилить вики очевидна уже много лет. И только лень и отсутствие свободного времени постоянно срывают планы. Но рано или поздно вики появится. Лично у меня в этом никаких сомнений нет. :)
Чингачгук
23 ноября, 2016 - 17:05
"Согласно новейшему исследованию британских ученых, скорость доступа к ОЗУ в миллион раз выше, чем скорость доступа к жесткому диску."
А-ха-ха-ха, сколько денег они на это угрохали, спросили бы любого школьника, который информатику не прогуливал, он бы им это и без исследований сказал)))
По делу: перенос профиля в ОЗУ не даст никаких преимуществ, вот перенос кеша увеличит скорость чтения данных из КЕША.
Комментировать