Ускоряем Firefox. Правильный перенос кэша Chrome и Firefox на RAMDisk

Специально искал эту тему на Хабре, но нашел только рецепт уже готового портабельного Firefox.
Минусы его известны - он не официальный, следовательно обновляется с опозданиями, вплоть до пропуска некоторых промежуточных версий.
Поэтому решил написать о своем небольшом опыте. Сделано уже дома, на ноуте, на работе - работает отлично.


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

Опишу домашний вариант, как самый навороченный.
На машине (win 7) стоит виртуальный диск от DATARAM, размером 1 гб - как раз для таких целей - ускорять и частично шифровать.
Образ виртуального диска лежит на криптованном (true type) диске.
Раз в сутки, образ виртуального диска скидывается в бэкап. Также виртуальный диск сохраняется при выключении компа.

Самый первый вариант, который сделал еще год назад - это просто перенести папку с профайлом и папку с самим фаерфоксом на виртуальный диск, оставив на нем ntfs-линки. Решение за 5 секунд, но не привлекает тем, что при работе с файлами (например кэшем с кучей мелких картинок), все равно будет постоянно дергать жесткий диск, с которого начинается путь.
Ну и постоянно помнить про линки - тоже не есть хорошо.

Поэтому делаем максимально полный перенос:

Перенос исполняемой части:
При установке нового Firefox, все крайне легко - сразу ставим его на виртуальный диск.
При переносе - копируем папку "x:\Program Files (x86)\Mozilla Firefox\ " на наш виртуальный диск, и просто запускаем firefox.exe с него. Он тут же предложит нам стать браузером по умолчанию. Говорим «Да» и правим ярлыки вызова, где они у нас есть (рабочий стол, панель быстрого запуска, др..).
Проходим по реестру и правим путь в нескольких местах. Мне показалось, что большинство ключей относится к устаревшим версиям, и самое необходимое само обновилось, когда мы переназначили браузер по умолчанию, но все же рекомендую реестр проверить - искать можно прямо полный путь "x:\Program Files (x86)\Mozilla Firefox ".
Старую папку переименуйте, например в «Mozilla Firefox.old», когда эксперимент закончится успешно - ее можно будет удалить.

Теперь перенос профайла
В этой папке («x:\Documents and Settings\Application Data\Mozilla\Firefox») лежит profiles.ini , в котором описаны какие профайлы есть, и где они расположены. Перенести сам profiles.ini, чтобы при запуске FF ничего, кроме виртуального диска не дергалось не удалось:(. Но в ярлыке запуска можно указать firefox.exe -Profile (спасибо )

После правки, profiles.ini выглядит следующим образом:


StartWithLastProfile=1 // запускать с последним запущенным профайлом(1), или открывать окно диспетчера профайлов (0)

// профайл0, профайл1, профайлxxx
Name=USER // имя профайла
IsRelative=0 // путь к профайлу относительный или абсолютный. Ставим 0
Path=V:\Profiles\Mozilla\user // указываем наш путь к профайлу
Default=1 // этот профайл будет вызываться по умолчанию

Сам профайл лежит в %APPDATA%\Mozilla\Firefox\Profiles , собственно его копируем на наш виртуальный диск, а папку %APPDATA%\Mozilla переименовываем в %APPDATA%\Mozilla.old . Позже ее удалим совсем.

Тестируем
Запускается практически мгновенно, до этого все же на десктопе запускался секунды 3-5.
Весь кеш хранится на виртуальном диске, соответственно hdd(sdd) не дергаются в процессе серфинга - для тех, кому не нужен прирост скорости, но жаль SDD, тоже можно взять на заметку.
Dataram у меня настроен на скидывание бэкапа образа раз в сутки - для меня более чем достаточно.

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

После теста, можно удалить папки.old.
Я какое-то время опасался глюков виртуального диска, поэтому у меня папки old провисели несколько месяцев, но ни разу не потребовались.

P.S. Кстати, таким же образом была перенесена Опера, но она почему-то продолжает открываться несколько секунд. С чем связано - не знаю.

P.P.S. «Портабельный» в теме специально указан в кавычках. потому что в процессе переноса пришлось залезть в реестр, и следовательно этот вариант не является чисто портабельным. Но если иметь ввиду только профайл - то не вопрос.

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

Сохраняем кэш

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

Как поместить кэш браузера в оперативную память

Для начала, нужно выделить область нужного размера в оперативной памяти, чтобы с ней можно было работать аки с обычным жестким диском. Так называемый RAM-drive, или же RAMdisk. С той лишь разницей что файлы в этот «диск» будут записываться и считываться из него мгновенно.

Linux

В операционных системах linux такая операция производится стандартными средствами системы, безо всяческих ухищрений. Файловая система в оперативной памяти созидается и монтируется в любое удобное место одной командой. К примеру вот такой:
mount tmpfs /точка_монтирования -t tmpfs -o size=300m.
Здесь — tmpfs не что иное как тип файловой системы для оперативной памяти. А опция size размер, в данном случае было учреждено под раздел в оперативной памяти 300 мегабайт, зависит от количества памяти имеющейся в наличии и от того что вы собрались в этот «диск» складировать. В нашем случае это кэш, для которого 300 Мб достаточно чуть более чем.
Далее, все что нужно сделать это указать браузеру хранить кэш в этом самом месте /точка_монтирования, что в разных браузерах делается немного по-разному, но об этом чуть позже.

Windows и утилита RAMdisk

А сначала посмотрим как подобный выкрутас c сотворением супербыстрого «жесткого диска» в самое мозгу машины можно устроить в этих ваших виндовсах.

Для этого нам понадобятся… костыли конечно же, как иначе) Ну или инвалидная коляска, а может и протез, уж я и не знаю какая из метафор больше подойдет. А при опущении оных, метафор то бишь, это со всей решительностью можно обозвать то ли драйвером, то ли утилитой, но есть мнение, что это и то и другое в одном стакане. Именуется эта софтина RAMdisk (как непредсказуемо, правда?), имеет несколько различных версий, скажем enterprise, plus, заточена под разные архитектуры (версии под 32 и 64 битные системы) И живет эта полезная штуковина в сети, к примеру на другом конце ссылочки http://ramdisk.nm.ru/ramdiskent-rus.htm, откуда ее можно невозбранно заполучить.

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

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

Отдаем команду браузеру

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

Firefox

Для того чтобы этот ваш firefox поселил свой кэш там где вы захотите, надо пойти в его конфиг и создать там нужную настройку с нужным значением. В адресной строке набираем about:config, видим кучу всяких строчек. Но оне нам не подходят, мы конечно же запишем свою туда, ткнув правой кнопочкой прям в странице с настройками и выбрав из менюшки «создать>строка», назовем ее «browser.cache.disk.parent_directory”, а в значении укажем путь, где у нас будет жить кэш. То есть в случае с windows это будет ваш свежесозданный «диск» в оперативке — к примеру какой нибудь «R:\cache», а в линуксах допустим «/home/user/точка_монтирования/cache». Перезапускаем браузер и вуаля.

Opera

В опере все попроще, там разработчики уже озаботились и нам не нужно самостоятельно создавать строку с настройкой, а нужно лишь сменить значение. Значит как водится, в адресной строке «opera:config», изыскиваем опцию «Cache Directory4» и учреждаем ее значением нашу сверхбыструю файловую систему. И начинаем чувствовать разницу в скорости загрузки страничек. А может и не начинаем, тут кому как свезет) Ну вот собстенно и все.

Как это делается в хроме — по аналогии, при желании разыщется. То же самое и в прочих этих ваших ИнтернетЭксплорерах.

Другие варианты использования данной схемы

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

Пупсень и Вупсень 16 марта 2013 в 02:06

Отучиваем Google Chrome убивать ресурс SSD винчестера

Предыстория
Как-то примерно год назад появился у меня компьютер, который можно было брать с собой на диван - ноутбук то есть. Ноутбук выбирался чисто для работы, одним из требований при выборе была неплохая производительность. Процессор Intel Core i3 показался достаточным по производительности.

Но, поначалу шустрый ноутбук все больше и больше начинал меня нервировать своей медлительностью. Не то чтобы он тупил, подвисал и тому подобное - нет, он просто равномерно медленно работал. Особенно это было хорошо заметно если поработаешь за «полноразмерным» компьютером с шустрым винчестером, а потом пересядешь за ноутбук. Виной тому был медленный винчестер ноутбука. Причем это проблема не конкретно моего ноутбука, это проблема всех ноутбуков, потому что в них стоят медленные винчестеры со скоростью вращения 5400 об/мин.

В один из дней это меня достало, и было решено купить SSD. Причем выбирался самый быстрый. Проанализировав занятое место на диске С: и финансы, было решено брать SSD объемом 64 GB. А учитывая что при маленьком объеме у большинства твердотельных накопителей скорость падает пропорционально с уменьшением емкости, круг выбираемых моделей быстро сузился. Выбор пал на Samsung 830.

Но как вставить SSD в ноутбук, в котором нет места под второй винчестер? Вариант с полной заменой HDD на SSD я сразу отмел. Быстрое «гугление» привело к тому, что есть все-таки способы - вместо ненужного нынче DVD поставить SSD. Я был уже не первый с такими вопросами, и быстро нашел что нужен некий переходник в который ложится винчестер и вставляется вместо привода. На ebay.com был найден нужный переходник. Назывался лот «Universal 9.5mm 2.5» SATA 2nd HDD Hard Driver Caddy For CD DVD Optical Bay". Стоил он чуть больше восьми долларов.

После почти месячного ожидания, свежекупленый SSD был вставлен в переходник, а переходник уже в ноутбук. Конечно крышка переходника не совсем как у родного привода, получилось не совсем незаметно, но достаточно терпимо.
На новенький винчестер была установлена новомодная Windows 8, всё летало и я был просто сказочно рад что ноутбук мой обрел практически вторую жизнь. Радости моей небыло предела до тех пор пока я не запустил программы мониторинга оставшейся жизни SSD. В частности, программа SSD Ready предрекала остаток жизни моему SSD в полгода. Это как-то совсем не радовало. Начал читать, и думать почему так.

Оказалось, все было просто - самой основной нагрузкой на винчестер стал… Google Chrome! Никогда бы не подумал что монстр огромной корпорации будет так вредить моему винчестеру.
Хром постоянно что-то пишет в кеш. Практически беспрерывно. Вот сюда каждые 2 секунды
c:\Users\User\AppData\Local\Google\Chrome\User Data\Default\Cache\
Также еще есть папка куда пишется кеш онлайн-видео которое вы смотрите. Папка эта носит название Media Cache
А еще пишутся иконки, история и все такое. В итоге я пришел к выводу, что папка User Data просто постоянно изменяется, записывая-считывая файлы и убивая мой SSD.

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

Было решено отключить этот проклятый кеш Хрома чтобы он вообще не писал ничего на диск. Добавляем к ярлыку запуска Google Chrome параметр "--disk-cache-size=1 --media-cache-size=1". И о чудо! Кеш не пишется, а браузер… не летает и довольно плохо работает. Особенно заметно когда открываешь хром с 30 открытыми вкладками, когда он все подгружает заново. Ну и совсем от записей мы тоже не избавились - что-то типа иконок и истории, все равно писалось на диск.

Вторым вариантом решения проблемы был перенос папки с настройками профиля хрома User Data на HDD. Это конечно бы решило все проблемы, но спрашивается зачем я покупал SSD?

Следующий вариант по-моему скромному мнению, решил все мои проблемы. Я решил использовать RAM Drive - т.е. держать все в оперативной памяти, и только лишь при выключении писать на винчестер. Учитывая что ноутбук у меня либо включен, либо в ждущем режиме, то писаться при выключении будет очень редко. Из понравившихся программ остановил выбор на Qsoft RAMDisk. Ставится как драйвер. В свойствах выбрал размер диска, файловую систему, куда писать при выключении. Под диск выделил 512 МБ (думаю разумный минимум 128 МБ).

Можно было перенести просто папку кеша, можно было и добавить к ней папку Media Cache, но я решил полностью избавиться от всяческих записей, и перенести полносью всю папку User Data.

Можно было опять же указать в параметрах ярлыка --user-data-dir=«путь к рам-диску» для перенаправления хранения профиля, можно было прописать в реестре, но при запуске без ярлыка либо обновлении, все это не работало бы. Начал думать как бы так сделать чтобы ничего не меняя перенаправить. И тут я вспомнил про символические ссылки!

Была скачана утилита Link Shell Extension, при помощи которой я фактически на месте папки User Data создал «ярлык», ссылку которая вела на мой рам-диск. Т.е. на диске ничего не лежало, заходя в папку User Data мы сразу же перенаправлялись на рам-диск. Причем в чем плюс такого решения - ни система, ни Хром никакого подвоха не видели.

Хром стал работать еще быстрее чем он был на SSD. Очень быстро. Я теперь наверное даже всем порекомендую хотя-бы кеш хрома вынести на небольшой рам-диск. Лично для меня загадка почему инженеры не придают внимания проблеме того что хром очень много и часто пишет. Надежность информации это хорошо, но не ценой же убийства винчестера!

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

Всем хорошего настроения! Друзья, если помните, то в я показывал вам, как можно организовать перенос временных файлов Windows на виртуальных диск. Таким образом, мы значительно разгружаем винчестер и ускоряем работу всей системы.

Поэтому сейчас давайте сделаем перенос кэша Chrome и Firefox на RAMDisk. Два этих интернет-браузера очень популярны, так что данная статья будет полезна многим пользователям глобальной " паутины" .

Ну что же, приступим. И первым на очереди будет Google Chrome. Сперва нам нужно перенести в новое место хранения уже существующие папки с кэшем , чтобы не потерять никаких данных. Для этого жмем правой кнопкой мыши по значку " Пуск" и выбираем " Выполнить" .

После этого необходимо ввести вот такую специальную команду.

  • %userprofile%\\ local settings\\ application data\\ google\\ chrome

На следующем этапе щелкаем правой кнопкой мыши по ярлыку Google Chrome на рабочем столе и выбираем пункт " Свойства" .

Теперь нужно переместить курсор в конец строки " Объект" , поставить один пробел , а затем вписать следующую комбинацию:

  • -- user-data-dir=" F:\\ User Data"

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

Ну что же, теперь переходим к не менее популярному Mozilla Firefox. Здесь, для перемещения данных на RAMDisk, нужно будет проделать чуть больше действий, хотя все в принципе делается по аналогии. Итак, снова запускаем системную утилиту " Выполнить" и вбиваем в ее строку следующую команду.

  • %appdata%\Mozilla\Firefox\Profiles

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

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

  • %appdata%\Mozilla\Firefox\profiles.ini

Откроется небольшой файлик , в котором следует указать новый путь хранения файлов кэша (параметр " Path " ) и обязательно исправить значение строки " IsRelative " на ноль. Чтобы не ошибиться, посмотрите внимательно на скриншот ниже. Также не забываем сохранять изменения.

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

  • about: config

После чего жмем в любом месте правой кнопкой мыши и выбираем " Создать - строка" . Далее в имени настройки пишем следующее.

  • browser. cache. disk.parent_directory

А в качестве значения, собственно, будет выступать путь к виртуальном диску компьютера. На этом все настройки завершены, осталось только перезапустить браузер и проверить, сработал ли перенос кэша Firefox на RAMDisk.

В качестве завершения статьи также хочется добавить, что настройки которые были применены к Chrome, без проблем подходят для всего семейства браузеров на движке Chromium , на котором , кстати, базируются такие популярные разработки, как Яндекс. Браузер и Амиго .

А на этом месте пост подходит к завершению, если остались какие-то непонятные моменты, задавайте вопросы в комментариях. Сейчас же, как всегда, давайте посмотрим очередной интересный видеоролик.

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

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

Как перенести кэш в другое место в браузерах семейства Chromium

На популярном сегодня движке Chromium (WebKit) работает много : Google Chrome, Opera (версия 15 и выше), Яндекс.Браузер, Интернет@mail.ru, Нихром и другие. По этому для всех перечисленных программ будет актуальна одна инструкция, показанная ниже на примере Гугл Хром.

Щелкните правой кнопкой мыши по ярлыку и откройте Свойства .

В строке Объект будет прописано:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

Добавьте в конец строки через пробел :
--disk-cache-dir="D:\ChromeCache"

Здесь ChromeCache название папки, можно указать свое. Сохраняем изменения, запускаем ярлык и видим: по заданному нами адресу создалась новая папка.

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

Смена места хранения кэша в Mozilla FireFox

Откройте FireFox и в адресной строке введите about:config и нажмите Enter . Соглашаемся с шуточным сообщением о лишении гарантии.

Откроется окно разнообразных настроек и их параметров. Щелкаем правой кнопкой мыши и выбираем в меню Создать - Строка .

Вводим имя настройки: browser.cache.disk.parent_directory

Потом значение: D:\Cache\

Затем таким же способом добавляем еще один параметр: Создать - Строка
Имя: browser.cache.offline.parent_directory
Значение: D:\Cache\ (должно совпадать с первым)

Opera

В Опере все еще проще: в адресной строке вводим about:config или opera:config . В списке находим User Prefs и выбираем Cache Directory4 , где стандартный пусть меняем на нужный, например D:\Cache\