Ускорение браузера путем использования tmpfs

Расскажу о двух способах переноса профиля кэша и прочих пользовательских данных в tmpfs. При этом соответственно операции ввода/вывода браузеров перенаправляются в оперативную память. 

Таким образом уменьшается износ жесткого диска повышается отказоустойчивость и скорость работы браузера: время доступа к оперативной памяти составляет порядка наносекунд в свою очередь время доступа обычного жесткого диска приблизительно в 1000000 раз выше и составляет порядка миллисекунд.

Понятно что если вы используете SSD то прироста в скорости заметно не будет а на моем HDD так прирост скорости ощутим невооруженным взглядом — без всяких там тестов.

Сразу оговорюсь что описывается все применимо к браузеру Mozilla Firefox однако в принципе оба способа можно использовать и к другим браузерам зная путь к профилю пользователя…

Первый способ переноса профиля (на примере FF) в оперативную память

1. Сначала рекомендуется заглянуть в about:config дабы проверить что следующие параметры имеют такие значения:

browser.safebrowsing.enabled false (отключить защиту от фишинга)
browser.safebrowsing.malware.enabled false (отключить передачу информации о посещаемых веб-сайтах)

2. Затем создаем архив профиля (тут и далее нужно заменить abrakadabra.default на имя директории своего профиля):

cd ~/.mozilla/firefoxtar cpf profile.tar abrakadabra.default

3. Добавляем запись в /etc/fstab (обратите внимание на точный путь к директории с профилем):

## Firefox Profilefirefox  /home/USER/.mozilla/firefox/abrakadabra.default  tmpfs  size=256Mnoautouserexecuid=1000gid=100  0  0

4. Создаем в домашней директории скрипт для автоматической упаковки профиля (назовем его к примеру ~/.firefox_pack.sh):

#!/bin/bash # Заменить на имя директории профиляPROFILE="abrakadabra.default"  cd "${HOME}/.mozilla/firefox"  if test -z "$(mount | grep -F "${HOME}/.mozilla/firefox/${PROFILE}" )" then    mount "${HOME}/.mozilla/firefox/${PROFILE}" fi if test -f "${PROFILE}/.unpacked" then    tar --exclude '.unpacked' -cpf packed.tmp.tar "$PROFILE"     mv profile.tar profile.tar.old    mv profile.tmp.tar profile.tarelse    tar xpf profile.tar &&\    touch "${PROFILE}/.unpacked" fi

5. Добавляем в cron команду на выполнение скрипта:

sucrontab -u USER -e*/10 * * * *  /home/USER/.firefox_pack.sh

6. Даем скрипту права на выполнение и запускаем скрипт:

chmod  0755 /home/USER/.firefox_pack.shsh /home/USER/.firefox_pack.sh

Второй способ (простой): :)

1. Устанавливаем www-misc/profile-sync-daemon:

emerge www-misc/profile-sync-daemon

Для Ubuntu:

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

2. Редактируем содержимое /etc/psd.conf выбирая с какими пользователями и с какими браузерами (chromium conkeror.mozdev.org firefox firefox-trunk google-chrome heftig-aurora midori opera qupzilla) будет работать profile-sync-daemon:

USERS="USER1 USER2"BROWSERS="firefox opera"

Примечание: Если оставить строку BROWSERS закомментированной (а вроде так и есть по умолчанию) то все поддерживаемые профили браузеров будут синхронизироваться если они существуют — вряд ли стоит это делать если установлено несколько бразуеров а пользуетесь преимущественно одним-двумя…

3. Добавляем этого демона в автостарт:

rc-update add psd default

4. Запускаем первую синхронизацию и стартуем демон:

/etc/init.d/psd resync && /etc/init.d/psd start

5. По умолчанию профиль сохраняется каждый час… Мне это показалось маловато вдруг какой глюк и я добавил в cron команду синхронизировать каждые 10 минут…

*/10 * * * *  /etc/init.d/psd resync &> /dev/null

ПыСы: Зачем был первый способ при таком раскладе? А просто на память — работают оба варианта в принципе по одинаковому принципу… :)


Оригинал статьи http://pingvinoff.net/2014/04/15/uskorenie-brauzera-putem-ispolzovaniya-tmpfs/

0 комментариев

Оставить комментарий