Пользователь
0,0
рейтинг
29 июля 2009 в 17:32

Разработка → Ускоряем запуск браузера FireFox

Ещё давно приметил, что мой любимый инструмент, запускается значительно шустрее после установки, чем после многомесячного, активного использования браузера. Заметил, но как распорядится этим знанием мыслей не было. И вот, только что наткнулся на полезную тему, где описано это узкое место, а также дан ещё один совет по ускорению запуска браузера.

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

1. Cкачайте тут последнюю версию консольного SQLite под вашу ОС или поставьте из репозитория пакет sqlite3.
Скачать для windows (246 KB) | Положить в директорию системы ака C:\Windows

2. Для Windows.
Cоздать bat файлик, со следующим скриптиком:

cd /D "%APPDATA%\Mozilla"
for /r %%i in (*.sqlite) do echo VACUUM; | sqlite3 "%%i"
cd /D "%HOMEPATH%\Local Settings\Application Data\Mozilla"
for /r %%i in (*.sqlite) do echo VACUUM; | sqlite3 "%%i"


Для Linux систем
Выполнить с командной строки или создать sh скриптик на будущее сами решайте:

cd ~/.mozilla/firefox/*.default/
for i in *.sqlite; do echo "VACUUM;" | sqlite3 $i ; done

… или ещё один вариант в одну строчку, от rojer:
find ~/.mozilla/firefox/ -name *.sqlite -exec sqlite3 {} VACUUM \;

Для MAC (спасибо, avanes)

find ~/Library/Application\ Support/Firefox/Profiles -name '*.sqlite' -exec sqlite3 {} VACUUM \;

3. Завершаем работу браузера, и выполняем команду/запускаем bat'ник.

Теперь у нас значительно похудевшие и дефрагментированные базы, есть значительные прирост к скорости запуска. Но есть ещё один момент для оптимизации, правда воспользоваться им можно в версиях FF 3.5 и выше. Необходимо включите jit-прекомпиляцию для интерфейса. Для скриптов на страницах она уже включена по-умолчанию. Для этого идём в about:config, вводим jit(в строку поиска) и ставим значение(javascript.options.jit.chrome) в true. (У меня после перезапуска, фокс долго не хотел стартовать, но потом ожил)

После этих двух простых действий FF значительно прибавил в скорости. Странно, что Mozilla не предусмотрела подобные манипуляции над базой.

P.s. если вы довольны достигнутым эффектом, буду рад если поможете перенести в «Огнелиса»

UPD 1 спасибо за карму, перенёс в блог FF
UPD 2 спасибо silentroach и RealManPMI, за идею более универсального указания пути к папке с профилем, kutsy спасибо за указание пути в linux.
Вадег @alkhankhel
карма
125,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

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

  • +7
    Я зажмурился и попытался представить многомесячный активный браузер.

    Не смог.
    • 0
      Угу, извиняюсь, слово пропустил, а когда перечитывал, воображение его там дорисовало и я не заметил :)
    • 0
      месяц висит, не закрывается, атк наверное :)
      у меня рекорд — недели две.
      • –24
        нафига? компьютеры надо выключать ежедневно (кроме серверов)
        • +13
          нафига? у меня, без перезагрузки, пару месяцев точно работает.
          • 0
            Я как то поставил эксперимент, решил на работе не выключать и не перезагружать комп как можно дольше. В итоге, через 4 месяца примерно потребовалась перезагрузка, которая плавно перетекла в переустановку. winXP pro
            • 0
              Вывод один — проверяйте железо ;)
              У знакомого на ноуте WinXP — без перезагрузки уже больше 8 месяцев.
              У меня виста — без перезагрузки уже больше 6 месяцев.
        • +2
          Немного не правильно выразился, технарь. Первым предложением имел введу, что только что поставленный файрфокс летает, даже с всякими файрбагами и прочими мастхэвными расширениями. Но к примеру у меня дома, без малого год стоит, FF и я активного юзаю. Вот я и задумывался в чём подвох. Сегодня нашёл ответ и поспешил поделится.
        • +8
          Я свой ноутбук не выключаю, а ввожу во временную кому. После пробуждения продолжаю работать. Зачем выключать?
        • +4
          эээ, а зачем выключать?
          компьютер не человек, ему спать ненадо, а от включений-выключений только лишняя нагрузка на компоненты.
        • +3
          А нафига выключать, если можно отправить в Hibernate?
        • +2
          Нафига выключать? У меня Мак, отошел от компа, монитор погас — подошел и работаю, уже 2 года в таком режиме отлично работает, почти не перегружаюсь (только на обновления) и FF не закрываю.
          • 0
            o_0 простите, может я не знаю как в Маке всё устроено… Вы именно отходите от компа и он гаснет (веб-камера как-то на движения реагирует?)? или спустя какое-то время?
            • 0
              Да просто таймаут довольно небольшой. Говорят есть и по камере, но мне оно не нужно.
              Подошел мышкой дернул и все в работе… время деньги!
              • 0
                ааа) ну так это во всех ОСях указывается
                ясно, спасибо
                • 0
                  Да, просто Мак работает бесшумно. А обычный комп будет напрягать и его захочется выключить. Вот в этом разница.
                  • 0
                    так ноуты тоже довольно бесшумны ;)
                    + у меня например стационарник тоже тихо довольно работает

                    правда я его всё-таки выключаю, когда совсем ухожу, не вижу смысла держать его включённым постоянно
                    • 0
                      Выключить, потом включить — это все время. Не вижу причин чтобы его выключать, он потребляет без монитора минимум энергии. За-то если надо закачки можно оставить.
                      • 0
                        так, а если не надо? =)
                        не вижу смысла, например, на ночь его оставлять включённым, когда нету никаких закачек или чего-то, что делается в фоне
                        • +1
                          Да и самое главное, не надо все программы переоткрывать и браузер перегружать.
                          Я просто не вижу смысла выключать компьютер, а потом включать, и запускать все программы, браузеры, открывать документы и т.п.
                          Делаю как проще — отойти от компьютера и подойти к нему гораздо проще чем, закрыть все программы, выключить компьютер, подойти включить, подождать пока загрузится, открыть все программы.
                          • 0
                            Вы так много программ используете? =)

                            у меня: браузер, im, скайп, музыка + остальные мелкие программы-тулзы в автозапуске (антивирь, вебмани, GeneFTP etc.)

                            нужные фотошоп-флеш-афтерэффектс, например, запускаются во время использования, а не висят постоянно
                            • +1
                              Около 10 программ запущены. Я не один пользуюсь компьютером, некоторые программы и браузеры запустил кто-то другой. Но не в этом суть — можно и в спячку комп пустить. Но вот только это лишняя работа, и ради чего?
                              К тому же стараюсь что-то качать с интернета, и не заморачиваюсь чтобы проверять качается или не качается сегодня, просто отхожу и иду спать
                  • 0
                    А я вот не могу спать, если комп выключен :(

                    Привык за много лет к шуму компа.
    • +1
      У меня браузер не закрывается месяцами =)
    • 0
      я раз в неделю перезагружаю ноут. а так гибернацию его отправляю.
    • –1
      Я на работе ноут не перезагружал около года, броузер там работал активно работал около 9 месяцев, пока java его не повесила.
  • +4
    Да, время разительно сократилось. Доволен как слон. Пропишу ка сию команду в кронтаб — пусть чистит раз в неделю.
    • +1
      Незабудте FF закрывать перд очисткой
      • 0
        Знаю. Я поставил на обновление в 3 часа ночи по понедельникам. Тогда FF у меня точно закрыт, хотя в скриптик и добавил закрытие браузера.
      • 0
        Можно использовать incron:
        ~/.mozilla/firefox/*.default/lock IN_DELETE /firefox-clean.sh
  • 0
    Вообще хороший совет, надо применить.
  • 0
    А для других браузеров на Gecko тоже этот совет подойдет?
    • +4
      Вообще подойдет для любых программ, использующих sqlite для хранения данных.
      • 0
        Собственно вопрос в том и заключается, sqlite используется для всех браузеров на базе Gecko?
        • +1
          Причем тут это — Gecko — движок рендеринга страниц. Профиль, интерфейс, все, кроме клиентской части страницы к нему не относятся.
          • 0
            При том что обычно (года 4 назад во всяком случае) у браузеров, построенных на нем профили очень похожи.
      • 0
        Угу, пошёл ещё Flylink зачистил :) База с 13 мегабайт стала 3, и теперь я даже flash-картинку Flylinka не вижу при запуске ;)
        • 0
          Хм… У меня как была 40 метров база( расшарено довольно много, почти 300 гигов), так и осталась, но скорость загрузки увеличилась на порядок. Раньше чуть-ли не минуту грузился, а сейчас пару секунд
          • +1
            Видимо у тебя не было, так называемых «пустых мест», эффект скорости появился после так называемой дефрагментации.
            Подобного эффекта можно в принципе достичь, простым созданием копии базы, и заменой оригинала.
            • 0
              Можно было то же самое сказать без слов «так называемый» (: И так понятно
              За статью спасибо, запомню
        • 0
          спасибо за наводку — загружаться стало быстрее и работать тоже (по крайней мере субъективно быстрее)
  • +4
    Первая статья в Избранном =)
  • НЛО прилетело и опубликовало эту надпись здесь
    • +2
      Если имеется одноимённое дополнение под Firefox, то не получится. Т.к. пока запущен браузер, некоторые таблички лочатся.
      Если бы не этот помент можно было бы специальный аддон сделать, который делал вакум баз.
      • НЛО прилетело и опубликовало эту надпись здесь
        • +1
          Неэффективно, да и процесс не быстрый, чтобы перед каждым запуском тратить на него время. Оптимально раз в 2недели/месяц, когда таблички снова подпортятся :)
          • НЛО прилетело и опубликовало эту надпись здесь
            • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      браузер — инструмент — FireFox
      • НЛО прилетело и опубликовало эту надпись здесь
        • +1
          За что минусы-то поставили? Замечание вполне корректное.
  • –24
    Огромное спасибо, действительно полезно. Жаль кармы не хватает, так бы плюсанул.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        с радостью.
      • 0
        Хотите съязвить — дело ваше, я действительно благодарен автору за эту мелочь. Мой лис начал неадекватно тормозить — это его спасло.
        • +4
          Просто таких бессмысленных комментариев люди не любят.
          Полезная статья — плюсаните автору. Нет своей кармы — заработайте. Вроде не первый день на Хабре то…
          • 0
            день не первый-то, но гость я здесь редкий.
        • +2
          заминусовали не за это, а за намёк «дайте плюсиков, дайте карму». Если почитать хелпы для начинающих там указано, что не рекомендуется писать ибо всех уже достало.

          habrahabr.ru/info/help/old/#lawbook
          раздел Отхабренное
          … темы которые успели утомить хабралюдей и нежелательны для дальнейшего обсуждения:
          … Сообщения типа «была бы карма — поставил бы плюс»;

          (на всякий случай — я сам начинающий)
          • +2
            понял, лень читать фак приводит к таким вот результатам. Будем читать, смотреть, учиться (;
          • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              :: с бурной фантазией
              Я несказанно рад, что у вас с фантазией всё в порядке. Человек спросил почему его заминусовали — я ответил почему (по моему мнению) это могло бы быть.

              Можно бесконечно долго обсуждать какие все вокруг уроды, а «я один весь в белом стою красивый».

              :: завязывайте с социальными сектами. вас ждет Реальный Мир!
              Вот тут как раз «бурная фантазия». С чего вы взяли, что меня беспокоят отношения с социальными сектами? Да и вообще, знаете про «в чужой монастырь»? Если вам не нравятся общепринятые правила — кто задерживает?

              А-то критиков много…

              :: почему-то я понял комментарий nsamoylov именно как благодарность
              Ай молодца!

              :: кстати, благодарность незаслуженную
              Что-то я не заметил ни одного поста от вас. Тем более полезного. Только комментарии «всё дерьмо», «неужели никто не понимает». Человек заслуживает благодарность хотябы тем, что сел и написал что-то, что не все знают. А в гугле, да… Там всё есть.

              Критик, млин. (остальные — простите за флуд)
              • НЛО прилетело и опубликовало эту надпись здесь
                • +2
                  Сколько непонятной агрессии, кто-то на хвост наступил?
                • НЛО прилетело и опубликовало эту надпись здесь
            • 0
              полностью согласен
              я бы вам плюсанул… будь у меня карма :D
              • 0
                Сейчас тебе наплюсуют))
                • 0
                  это Хабр! тут надо писать Вы, иначе тебя заминусуют :DDD
    • +1
      вопрос хабра-пользователям: обьясните, пожалуйста, за что в принципе заминусовали данный камент?
      Просто пытаюсь понять логику местных хабра-жителей.
      • 0
        впринципе вопрос снимается. спасибо
      • 0
        lurkmore.ru/Хабр
        раздел «В помощь начинающему хаброиду»
        Там ответ на ваш вопрос.
  • +2
    Ждем когда Мозила сама прикрутит что-то подобное.
    • +1
      Глядя на то, как и в какую сторону развивается Мозила — не ждём, а добавляем в cron или autoexec :)
    • 0
      Ждем когда Мозила выкинет sqlite и прикрутит embedded MySQL :)
      Особенно актуально для Linux пользователей у которых базы других программ уже используют его, Amarok, например.

      Потому что концепция — «Каждой программе по своей базе» — это конечно хорошо. Но переносить dump mysql куда удобнее, чем искать профайл от FF и копировать его на другой компьютер.

      P.S. Согласен для Windows пользователей — это радости не добавит, но если использовать embedded версию, то и не особо огорчит.
      • 0
        Ну или Oracle Express Edition :)
        Как Ларри скажет так и будет.
      • 0
        Windows пользователям лучше прикрутить Microsoft SQL Server Express.
        • 0
          правильный Windows way — MS SQL CE
  • –31
    У меня и с нулевой установкой запускается по 10 секунд на немедленном железе.
    Так что я редко файр использую, хром с оперой рулят :)
    Даёшь минуса! :)
    • +9
      на немедленном железе, на моментальной клавиатуре, с сиюминутной мышью… :)
    • –12
      Во, сразу в карму насрали :)
      Вы лучше скажите, как сделать, чтобы он запускался за секунду, как все остальные браузеры? А?
      • +10
        дык сам попросил же. здесь люди добрые! =))))
    • +19
      «Даёшь минуса! :) » — не вопрос, лови.
  • 0
    странно, но FF 3.5.1 в about:config нет ни одной строчки jit. Или ее нужно добавить?
    • +2
      а у меня есть.
      javascript.options.jit.content — по умолчанию true
      javascript.options.jit.chrome — тут надо поменять
    • 0
      набери в фильтре jit
      • 0
        набрал, конечно ж.
        на самом деле я запутался в своих огнелисах и запустил 3.0
        в 3.5 точно есть!
  • +4
    в скриптике можно кусочек длинного пути заменить переменной %APPDATA%
    • +2
      У меня получилось вот это:

      copy /y sqlite3.exe %WINDIR%
      cd %APPDATA%\Mozilla\Firefox\Profiles\*.default
      for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i

      Только нужно положить файл sqlite3.exe в ту же директорию, откуда запускается этот bat-файл
      • 0
        silentroach и RealManPMI, и вправду с путём не догадался, спасибо, подправил
      • 0
        А я нелюблю захламлять папку Windows поэтому переписал:

        C:
        cd %APPDATA%\Mozilla\Firefox\Profiles\*.default
        for %%i in (*.sqlite) do @echo VACUUM; | %~dp0sqlite3 %%i

        Ах да C: в начале т.к. все ценное на диске D: :)
  • +2
    +1 автору, реально помогает ускорить работу…
  • –2
    bat-скрипт, кстати, для PowerShell только :)
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      о, точно. я почему-то на пош подумал
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Какое-то из дополнений шалит? Отключите все, проверьте.
        • НЛО прилетело и опубликовало эту надпись здесь
          • +1
            А если browser.urlbar.clickSelectsAll отключить — может быть проблема в том, что ФФ долго думает прежде, чем строку с адресом выделить?
            • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        у меня проблема тоже с адресной строкой. когда после 1 запуска(за сеанс винды) ставлю курсор в адресную строку и начинаю набирать адрес, то огнелис порядочно так подзадумывается. и потмо все работает нормально. подбешивает=))
  • 0
    >файлик, со следующим скриптиком
    Извините за оффтоп, но это очень мило =))

    За статью 5 с плюсом!
    Добавлю в закладки.
  • +1
    Для Линукс-систем:

    cd ~/.mozilla/firefox/*.default/
  • –1
    У меня FF при запуске читает 16 гб данных. WTF?
  • +8
    Впервые вижу реально действенный способ ускорения фокса, а то 99% подобных статей — отчет капитана о «свеженайденых секретных параметрах из about:config»
  • +1
    Совсем недавно пробегал скрипт на Python для этой цели.
  • +3
    было бы интересно еще научить его выключаться сразу, а то бывает закрываешь его, а в процессах еще долго висит
  • –15
    А я просто смазал правую вазелином.

    Стало значительно быстрее.
    • –16
      Если я юзер, то мне на это глубоко по.

      А если я девелопер, то мне на это аналогично глубоко — я найду «ещё один браузер» либо сам решу проблему.

      Так что реальная ценность статьи под вопросом.
      • 0
        а если я девелопер и использую firebug?? то мне не по.
        • –8
          А у меня FF на рабочем компе запускается мгновенно. И висит там постоянно.

          Ибо в-основном юзаю Chrome.

          На домашнем я его тупо не использую — Chrome спасает.

          Так что FF-помешательство малоинтересно.
          • 0
            у меня также. хром как браузер хорош, но без дополнений… толку маловато от него.
            дома у меня компьютер староват, в основном отец за ним сидит, в интернет тоже через FF выходит, ему не нравилось что грузится долго, а сейчас он говорит что лучше стало, так что если вам не нужно, это не значит что всем не нужно!
            • –4
              А что он не через «нормальный» IE выходит? :)

              Кто Вашего отца «заставил» юзать медленный, но православный FF?

              ps: Это, конечно же классический холивар, но всё-таки :)

              2динамит: А какого хрена эта сугубо личная help-образная тема вылезла на главную? Фрикций много что ли? Оно у меня в RSS и следовательно я выражаю свою противоположную точку зрения.

              Хотя все-равно FF рулит, тут без вопросов :)
          • +1
            И зачем всем знать об этом? Малоинтересно — не пишите ничего в соответсвующей теме.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +2
      Тогда уж

      find ~/.mozilla/firefox/ -name '*.sqlite' -exec sqlite3 '{}' VACUUM \;
  • +1
    Да он просто реактивный стал. Спасибо большое)
  • 0
    для макинтоша не нашлось вариантов :(
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        спасибо тебе добрый человек
      • 0
        только как то
        «VACUUM
        -bash: »: command not found
        • 0
          Я обновил топик, мне в личку кинули рабочий вариант для Mac
        • НЛО прилетело и опубликовало эту надпись здесь
  • –15
    BTW, о чём говорит засранная дефграгментированная история браузера (любого)?

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

    Ибо работать надо, а не только историю дефрагментить.

    ps: Начните считать время вы удивитесь, насколько вы себя обманываете.
  • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    Кстати есть ещё файл urlclassifier3.sqlite в каталоге (для Windows):

        %USERPROFILE%\Local Settings\Application Data\Mozilla\Firefox\Profiles\*.default

    У меня он ужался с 30М до 25М.
    Субъективно запуск стал ещё быстрее :)
  • 0
    Что-то я не заметил никакого ускорения :(
    • 0
      А был ли мальчик?

      На всякий пожарный, траблшутинг:

      1. SQLite нужно положить в любой каталог из переменной PATH. Каталог Windows подойдет.
      2. (by unxed) Вместо
      cd %APPDATA%\Mozilla\Firefox\Profiles\*.default
      следует писать
      cd /D %APPDATA%\Mozilla\Firefox\Profiles\*.default
      Либо использовать оригинальный вариант, но запускать с того же логического диска где храняться ваши профили (обычно системный, обычно C:)
  • 0
    Вместо
    cd %APPDATA%\Mozilla\Firefox\Profiles\*.default
    следует писать
    cd /D %APPDATA%\Mozilla\Firefox\Profiles\*.default
    — тогда будет работать даже с другого логического диска.
    • 0
      А я-то думаю, что у меня оно так быстро, и ничего не сделало… Спасибо!
    • 0
      А вот мой батник полностью:

      copy /y sqlite3.exe %WINDIR%
      cd /D "%APPDATA%\Mozilla"
      for /r %%i in (*.sqlite) do echo VACUUM; | sqlite3 "%%i"
      cd /D "%HOMEPATH%\Local Settings\Application Data\Mozilla"
      for /r %%i in (*.sqlite) do echo VACUUM; | sqlite3 "%%i"

      Разница:
      1) Добавлено копирование sqlite3.exe в папку windows
      2) Добавлены ключи /D в cd, чтобы работало с любого диска
      3) Добавлено сжатие части профайла в Local Settings
      4) Добавлены ключи /r в for, чтобы искало по всем папкам мозиллы
  • 0
    после всех телодвижений запуск занимает 3 секунды.
  • –2
    интересные результаты
    before:
    -rw-r--r-- 1 snn users 7168 Июн 19 22:09 content-prefs.sqlite
    -rw-r--r-- 1 snn users 384000 Июл 29 20:42 cookies.sqlite
    -rw-r--r-- 1 snn users 67584 Июл 29 19:52 downloads.sqlite
    -rw-r--r-- 1 snn users 277504 Июл 29 20:24 formhistory.sqlite
    -rw-r--r-- 1 snn users 4096 Апр 24 16:11 permissions.sqlite
    -rw-r--r-- 1 snn users 7888896 Июл 29 20:40 places.sqlite
    -rw-r--r-- 1 snn users 156464 Июл 29 20:40 places.sqlite-journal
    -rw-r--r-- 1 snn users 2048 Июл 19 01:14 search.sqlite
    -rw-r--r-- 1 snn users 67584 Июл 19 01:15 signons.sqlite
    -rw-r--r-- 1 snn users 31232000 Июл 29 20:37 urlclassifier3.sqlite
    -rw-r--r-- 1 snn users 11264 Май 10 22:39 webappsstore.sqlite

    after:
    -rw-r--r-- 1 snn users 7168 Июл 29 20:56 content-prefs.sqlite
    -rw-r--r-- 1 snn users 280576 Июл 29 21:02 cookies.sqlite
    -rw-r--r-- 1 snn users 4096 Июл 29 20:56 downloads.sqlite
    -rw-r--r-- 1 snn users 268288 Июл 29 20:56 formhistory.sqlite
    -rw-r--r-- 1 snn users 4096 Июл 29 20:56 permissions.sqlite
    -rw-r--r-- 1 snn users 6758400 Июл 29 20:58 places.sqlite
    -rw-r--r-- 1 snn users 74384 Июл 29 20:58 places.sqlite-journal
    -rw-r--r-- 1 snn users 5120 Июл 29 20:56 ril.sqlite
    -rw-r--r-- 1 snn users 2048 Июл 29 20:56 search.sqlite
    -rw-r--r-- 1 snn users 67584 Июл 29 20:56 signons.sqlite
    -rw-r--r-- 1 snn users 26664960 Июл 29 20:58 urlclassifier3.sqlite
    -rw-r--r-- 1 snn users 11264 Июл 29 20:56 webappsstore.sqlite
    • 0
      Нет.
    • 0
      Ладно, ладно… признаю ошибку. Зря опубликовал.
  • 0
    Для Flock:

    cd %APPDATA%\Local\Flock\Browser\Profiles\*.default

    а jit там нету.
    Спасибо за статью.
  • 0
    мне одному так кажется или про это уже писали на хабре?
    • +1
      Да, Вам кажется.
      Я прочитав заголовок, чобирался отписать что было уже… как вдруг замер.
      Про это пока не было.
  • –5
    Мне проще браузер переустановить раз в 3 месяца. Только что-то не замечал, что Firefox как-то медленно запускается.
    • +5
      Переустановка не даст вообще ничего, бинарники и библиотеки не протухают со временем. По твоей логике надо каждые 3 месяца удалять фокс, целиком сносить профиль, ставить заново, инсталить расширения, настраивать все… о да, это олицетворение windows-way, тотальная боязнь 2 строчек на почти английском языке и установка «не работает — переставь» вместо «не работает — разберись почему»
      • 0
        Ладно, уговорили. Сделал. :-)
      • 0
        Спасибо, стало быстрее.
  • 0
    Спасибо большое! Почему-то так и думалось что ФФ сам свои базы не оптимизирует…
  • +3
    Пользуюсь Портабл-сборкой от portableapps.com
    Завязываться с системными путями не удобно. Посему копирую sqlite3.exe в папку \FirefoxPortable\Data\profile\ и рядом же создаю BAT-ник с одной строкой
    for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i
    Запускаем батник — все работает на любой системе!
  • 0
    спасибо, действительно стало побыстрей
  • 0
    Тут на работе у нашего сисадмина, uptime компа 83 дня и FF тоже :) Он его просто не закрывает — он и не тормозит при загрузке :D
  • 0
    Спасибо!
  • +1
    Для всех sqlite на диске сделал так:
    cd /d c:\
    for /r  %%i in (*.sqlite) do echo VACUUM; | sqlite3 "%%i"
    • +1
      Ключ /r — для рекурсивности
      %%i в кавычках — если в пути есть пробелы итд…
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      у Вас просто мало плагинов
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          странно. у меня 11 дополнений + 4 выключенных и еще 11 плагинов
          у меня тож поначалу шустро, потом понаставил всяких разработчиских штучек и хавает свои 150 м минутку наверное, а во время работы все 200 кушает
    • 0
      у меня запускался 12 секунд, после стал за 4 секунды запускаться, браузер стоит уже очень давно, около года.
  • –6
    Ускоряем загрузку FireFox
    1. Ставим Хром или Оперу
    2. Ругаемся на все остальные браузеры на форумах.

    Кстати, у sqlite есть auto_vacuum.
  • –1
    потрясающе, огромное спасибо! Интересно, а почему бы не использовать mysql для этого? Или хотя бы давать выбор, проблем со скоростью бы не было.
    • 0
      дело в том, что mysql надо устанавливать, настраивать, запускать сервер и администрировать. (я упрощаю)

      sqlite для того и придуман, чтобы с этим всем не возиться — есть один файл и всё…

      ru.wikipedia.org/wiki/Sqlite

      первый абзац в блоке «дизайн» подробно описывает суть почему удобно использовать именно sqlite
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          в смысле устанавливать mysql? Как по мне — неудачная идея. Зачем из пушки по воробьям-то? Или настройки бровзера в оракле хранить? :) Или я не так понял?
          • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Amarok прекрасно использует mysql по умолчанию. При больших коллекциях ничего не тормозит в отличие от sqlite.
        • 0
          А oracle на хорошем железе вообще летает. :) Вполне можно держать там куки от бровзера. :)

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

          Не думаю, что mysql лучший выбор для хранения settings и крохотных баз.

          За amarok рад — видимо у них были серьезные аргументы для принятия такого решения. Если пользоватли довольны — то вообщем-то неважно как это сделано технологически.
  • 0
    >Положить в директорию системы ака C:\Windows
    А это зачем? Оно нормально запускается и из любой другой папки.

    >cd %APPDATA%\Mozilla\Firefox\Profiles\*.default

    Это вы попадете в Roaming\Mozilla. А кусочек профиля еще имеется в Local\Mozilla — там кэш живет. Свой sqlite у него тоже иммется.

  • +3
    также можно дополнительно перестроить индекс таблиц:
    $ find ~/.mozilla -type f -name \*.sqlite -exec sqlite3 ‘{}’ REINDEX \;
  • 0
    Спасибо! Заслуженные плюсы в карму и в топик.
  • 0
    Автору спасибо за статью.

    Пользуясь случаем, хотелось бы узнать, как можно ускорить speed dial extension в FF, чтобы сократить время открытия новой вкладки?
    Сейчас у меня в Speed Dial 9 dial'ов, из которыз 3 пустые. Открыть новую вкладку сейчас стоит около 2,5 — 3 секунд.
  • +1
    Где-то на opennet.ru проскальзывала данная информация, а мне понравился один из комментариев: через пару лет работы пользователи firefox станут администраторами баз данных. :)
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Не знаю, как в Chrome, а в Gears, который тоже встроен в Chrome, включён режим автодефрагментации (PRAGMA autovacuum=1, как-то так).
  • 0
    Странно, что Mozilla не предусмотрела подобные манипуляции над базой.

    На сколько я помню, они не считают это критичным. Но как-то улучшить все-таки пытаются — https://wiki.mozilla.org/Firefox/Sprints/App-wide_Database_Vacuum
  • +2
    Держите универсальный скрипт для Windows:

    @echo off

    echo Compressing Firefox databases…

    pushd %APPDATA%\Mozilla\Firefox\Profiles\*.default
    call :compress
    popd

    pushd %USERPROFILE%\Local Settings\Application Data\Mozilla\Firefox\Profiles\*.default
    call :compress
    popd

    goto end

    :compress
    for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i
    goto :eof

    :end
    • 0
      портативные версии не сделает
  • 0
    после VACUUM + REINDEX у меня слетели букмарки в del.icio.us bookmarks — пришлось делать Full Sync
  • 0
    Большое спасибо — эффект есть
  • –1
    lol@exmedesk:~$ cd ~/.mozilla/firefox/*.default/
    lol@exmedesk:~/.mozilla/firefox/zht1tml1.default$ for i in *.sqlite; do echo «VACUUM;» | sqlite3 $i; done
    SQL error near line 1: database is locked
    SQL error near line 1: database is locked
    ^CSQL error near line 1: interrupted

    lol@exmedesk:~/.mozilla/firefox/zht1tml1.default$ find ~/.mozilla/firefox/ -name *.sqlite -exec sqlite3 {} VACUUM \;
    find: paths must precede expression: cookies.sqlite

    Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
    lol@exmedesk:~/.mozilla/firefox/zht1tml1.default$
    • –2
      Windows Se7en?
      • +1
        По моему весьма очевидно, что это не windows.
        Кроме того, 3 пункт статьи был автором плохо усвоен.
        • 0
          Для меня совсем не очевидно. Я оси, отличные от окон, в своей жизни только на скринах и видел.
  • +1
    Блин, ну нет такого браузера — FireFox. Это одно слово — Firefox, а не два, слитых в месте. Мы ведь не пишем FireWall или ОвцеБык… Firefox. Сокращенно Fx.

    Извините за оффтоп.
    • –1
      Обычно сокращают «FF».
  • 0
    Включать jit для интерфейса (jit.chrome) довольно опасно, он весьма ещё нестабилен.
    • 0
      Но запускаться стал моментально именно после этого, попробуем. :)
  • 0
    Суперспасибо!!!
  • 0
    Спасибо. Ощутимое ускорение «на глаз». Приятно, а то по долгу службы (или по собственной организованности) открыто обычно около десятка вкладок, и запускается с таким багажом FF, после полугода-года активной эксплуатации, весьма неторопливо.
  • 0
    cd %APPDATA%\Mozilla\Firefox\Profiles\*.default
    for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i

    я сделал так

    for /R c:\ %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i
  • 0
    Класс, спасибо — лис стал запускаться ощутимо быстрее.
  • 0
    Спасибо! Как раз задумывался над чем то подобным, так как после обновления на тройку в своё время и кучи экспериментов с плагинами, обновлениями и активного юзания за всё это время забилась лиса «в уголок» уже конкретно, а с нуля ставить лень… жалко не могу поставить «нравится», но в избранное уже ушло.
  • 0
    Зачет!!! Автору респкт! FF как будто заново родился! :)
  • 0
    Хром тоже использует sqlite, как ему сделать вакуум?
    • 0
      Да также, разница лишь в указании пути до файла базы.
      Я к примеру ещё Flylink решил почистить, и программа стала запускаться мгновенно.
      • 0
        Не могли бы ли вы уточнить? А лучше показать текст bat файла
        • 0
          Находите файлы БД для вашей программы и используете тот же батник на них.
  • 0
    Убрал все лишние дополнения, сделал все действия указанные в топике и очень сильно удивился результату… До манипуляций время запуска было примерно 30-50 секунд. Теперь секунды 3-4… Я очень рад! Спасибо.
  • 0
    FF 3.5.1 jit не найден.
    • 0
      В поиске набери jit, появится 2 переменные одна true другая false, сделай её тру.
      • 0
        Спасибо!
  • 0
    А решение для Windows 7 не подскажите? А то такая бяка выскакивает:

    • 0
    • 0
      Вариант «Для Windows» не подходит для твоего Windows 7? Вроде недолжно быть никаких различий.
      • 0
        Ну, судя по двум комментам выше, не подходит.
  • 0
    Спасибо вам большое, alkhankhel.
  • 0
    Между прочим, это конкретный минус браузера, один из тех, что заставляют использовать другие иногда.
    Спасибо, проделала эту операцию, и стало лучше.
    • 0
      Да но фф мы любим за его плюсы :)
  • 0
    Спасибо, стало намного быстрее :)
    Интересно, а базы Firebird ведь можно подобным образом оптимизировать?
    • 0
      Бэкап сделать только не забудьте ;)
  • 0
    Для Windows есть проблема одна. Пока не нашел как решить (может знает кто?). Если профиль на русском (то есть папка профиля кириллицей), то sqlite3 не видит базу, не может открыть ее.
    • 0
      Я просто зашел в папку Mozilla\Firefox\Profiles\vwslz3ok.default и создал там батник:
      for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i
      pause
      Туда же запихнул sqlite3.exe и запустил.
  • 0
    спс ускорилсо
  • 0
    Можно для Win/Mac заюзать Speedyfox — делает то же самое, но так сказать для домохозяек.

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