Един хитър трик за подобряване на скоростта на firefox браузъра ви е като вакумирате sqlite базата му данни. VACUUM процеса преизгражда базата данни като по този начин я дефрагментира, намаля размера и прави търсенето в нея по бързо, използването на диска по ефективно евентуално намаля и натоварването върху диска ви тъй като чете в последователност от секторите ми. Като цяло това важи за всяка база данни която не извършва автоматично vacuum/defrag на себе си.

Самият процес по дефрагментиране на базата данни на Firefox е доста тривиален – изпълняваме sqlite3 db-file VACUUM в профилната директория на firefox. В linux пътя до нея обикновенно е ~/.mozilla/firefox/random-name.default. По принцип трябва да имате само 1 диркетория в .mozilla/firefox ако имате повече може да проверите ~/.mozilla/firefox/profiles.ini за коректната директория в е профила на вашият браузър. Тъй като не ми се занимава да извършвам процеса на ръка разписах елементарен скрипт с който да дефрагментирам базите данни:

for db in $(find ~/.mozilla/firefox/$(grep Path ~/.mozilla/firefox/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
   echo "VACUUM ${db}"
   sqlite3 ${db} VACUUM
   sqlite3 ${db} REINDEX
done

След изпълняване на скрипта търсенето в history-то и самото зареждане на лисика е чувствително по бързо. Скрипта предполагам че с малки модификации може да се ползва и в Mac OS.

p.s Ето варианта и за Mac OS X – тестван на Mac OS X Sierra. Налага се да форсираме делимитъра да е нов ред заради space в пътя до папката в която се съдържа профила на firefox

OIFS="$IFS"
IFS=$'\n'
for db in $(find ~/Library/Application\ Support/Firefox/$(grep Path ~/Library/Application\ Support/Firefox/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

Преди да започна с глупостите искам да кажа, че не съм много напред с web hosting-а и всичко което ще напиша е опит които съм придобил в последните 2-3 месеца. Администрирам едни доста натоварен VPS по посещаемост според tyxo е в топ 80 но влиза в топ 70 ;). Та мисълта ми е, че вече след толкова време придобих разни навици и достигнах до добрите практики по един или друг начин (обикновено по трудния) :D. Няма да пиша или да навлизам в детайли на конфигурацията никак даже. По скоро ще споделя идеите над които да помислите.

  1. Обновявайте софтуера редовно. Apache, php mysql всичко си иска обновления. Дали за да закърпите дупки в сигурниста, дали заради поправени бъгове или нови възможности. Винаги дръжте софтуера си в крак с времето. По принцип рядко се пробива един сървър през апликациите обикновено през дупки в кода на хостваните неща се пробива ама да не разчитаме само на това.
  2. Apache – web server-а ви не е желателно да има активни повече модули от тези които реално ползвате. Колкото повече модули по- бавна работа.
  3. Повече потребители на същия сървър – opcode cache. Преди време писах пък и zerdion направи доволно тестове и се вижда реално ползата от тая магия. В моя случай съм избрал eAccelerator защото в реална работна среда той показва най добри резултати с пуснати всички настройки към него. По бързо зареждане по малко ядене на ресурси което респективно означава повече потребители.
  4. Притискат ви с трафика – gzip. Най лесния начин да намалите реални трафик които правите е с gzip компресия на http отговорите към клиента. Mod deflate е решението за apache. За други http server-и не съм проучвал въпроса :). Реално около 50% ми падна трафика при компресия върху html,css,js,xml. Трябва да проверя дали мога да компресирам и друг вид съдържание ще е интересно. Защото реално снимките са съдържанието което прави най много трафик в един сайт.
  5. mysql serer – горещо ви препоръчвам ако не сте се наградили с версия 5.1 да го направите. Като цяло Oracle имат някакъв малък опит с бази данни 😆 и тоя опит са го вкарали добре в 5.1 версията не съм пробвал 5.5 но и това планувам да стане скоро.  Определено се ускори работата на sql заявките може би леко падна натоварването но с не повече от 5-6% но a пък и новите функционалности за програмистите са прекрасни. Основаната такава partitions. При надграждане внимавайте какви настройки имате в my.cfg Не всички стари опции са валидни, също е добре да махнете старите библиотеки поне при CentOS 5.5 направиха проблеми при Debian нямах такива ядове. След това си вижте mysql log-а защото някои от опциите са с различни имена и е добре да ги промените ако след време минете към 5.5 да не се чудите защо не палва конфигурацията ви.
  6. sql заявките.  Задължително разрешете опцията за записване на slow query. По тези дневници можете да върнете информация на програмистите ако не сте вие за бавните заявки да се оптимизират. Колкото по малко такива заявки по малко натоварване за сървъра ви 😉
  7. Малко защита – сменете подразбиращия се порт на ssh-а ви няма нужда смотани ботове да се опитват да ви хакват. Apache го подсигурете с mod_security доста полезен модул прави филтрация на доста шитни – sql inj, rfi DDoS и прочие. Няма да спре голям хахор ама поне ламерите ще ги отсее. PHP е добра идея да се защити с Suhosin. Може да се сложи като допълнително разширение или направо като пач в php кода. Аз лично предпочитам първия по изчистен ми се струва.

Като за начало това са нещата които се сещам. Не са много а като се замисля съм направил доста оптимизации по сървъра но много от тях са доста специфични според ситуацията и няма смисъл да ги обяснявам тях като например лимитации на кешове или пък колко процеса има вдигнато apache-то. Вероятно с времето ще се сещам и за още неща които са как да кажа част от малките неща които дават големия резултат. Машината е доста добре оптимизирана за сравнение ние правим на 20к уникални посещения на ден и сме на най ниския възможен vps план load time на страниците ние не надхвърля 1,5-2 сек или ако го надхвърля е заради външните източници на реклами иначе самата страница се изплюва за части от секундата. Хора с близки позиции до нас са с не оптимизирани сървъри с доста повече ресурси от нашия и имат същите резултати. Общо взето оптимизиране му е майката и пиенето на бира бащата 😆

ps Песничката леко се връзва с тематиката 😀

понеже тия дни съм „малко“ зает и нямам време за сериозни блогинки затова ще плясна малко статистики от блочето ми 😉 Като цяло мисля че някаде около 6-7 тоя месец го стартирах и до момента статистиките са както следва

1. За операционни системи

Windows XP 66.3%
Windows Vista 15.1%
Ubuntu Linux 14%
Debian Linux 1.7%
Windows Server 2003 1.3%
Linux 1.1%
Mac OS X 0.6%

Като цяло доста приятна изненада е че Ubuntu е стакъв добър процент с доста малко злед глистата 🙂 останалите неща са ясно

2. Browsers

Firefox 3 52.5%
Firefox 2 10.1%
Opera 9.9%
Internet Explorer 6 8%
Internet Explorer 7 7.8%
Safari 5.6%
Internet Explorer 8 3.2%
Iceweasel 1.7%
Epiphany 1.1%
Netscape 0.2%

Тука изненадите са няколко освен че лисика цепи мрака 😉 Първо IE6 е пред IE7 странно защото определно втория е по добър подържа всичко онова което отделешя IE от един хубав модерен браузър и като цяло гореш съвет които не е преминал на 7-ма версия да го направи. Вторто нещо е присъствието на нетскеип тои маи тая пролет го спряха ако не се лъжа. Най вероятно е някои спаидър ама знае ли човек. Въпреки че самия нетскеип като го спряха дирекно им искачаше прозорче за замяна с FF 🙂 Ами това беше малко но о сърце

Kато един себеоважаваш се преставител на опън сорс идеята обичам отворените решениея 😉 Като цяло тоя тoва ръковдство е от прочетени неща от неа мои наблюдения и проче 🙂 Та както и да е цялата ми идея че нещата може и да ги намеите другаде ама тука си е събрано 🙂

1. Най важното е да се инсталира FasterFox (за FF3 цък) добавката, после си отворете нов таб и в него напишете

about:config

и ще ви се отворя настроките на лисичката. Там намерете ключа с име network.dns.disableIPv6 и с двоен клик направете стоиноста му на true Това е от към оптимизация по скорота. Вече за унидоус потребителите има програма коя ще може да оптимизарате лисичката. FireTune ви дава контрол над някои досадни дефекти на лисицата например лапането на много рам, програмата е препоръчителна за по слабите компютри. За линукс потребителите ;) има дори по читаво решение Swiftfox е проект в които FireFox е оптимизиран за различните видове процесори, скороста му е изумителна.

2. Goole- понякога когато търсите нещо е хубаво да си има помощ. Използването на CustomizeGoogle ви дава доста възможности при търсене в Google- помощ при търсене ( дава ви хинтове), филтри с които може да прехнете някои саитове от търсене, https връзка с саитовете на Google.

3. Банерите – досадата в интернет. Adblock Plus сле инсталацията му ще ви предложи лист с регулярни изрази за блокиране на банери даите го на EasyList USA (май тъи беше сега не ми се маха че съм го наблъскал и с мои филтри) след това 90% от банетите ще изчезнат останалите можете лесно да си блокирате сами. Винаги при инсталацията и домабявм два израза за блокиране

*/baner/*

*/banner/*

С тия две изразчета изчиствате досат от банерите 😉 100% всичко от замунда 😉
4. Даунлод менджерите. Винаги съм мразел FlashGet а под линукс няма нито един читав менадер като изключим wget А да разчитам на даулоу менаджера на лисика – чисто безумие. DownThemAll! даунлоуд менаджер 500к ;)

5. Greasemonkey Ви позволява да включвате java сриптове в някои страници и да подобрявате функционалноста им.

http://userscripts.org/

има доста такива ;)
6. съвместимоста с някои от старите адони с FF3 :) отворете нов таб и в адресната лента напишете about:config псоел с десен бутион на мишката кликванете и new->boolean за име слагате extensions.checkCompatibility а стоиност избирате false
7,8…. Ми свърших най важните неща другите вече са личен избор FireFTP фтп клиент в лисичката :) Gmail Notifier чеква ви Gmail за нови писънца

За финал като цяло съвета ми е ъпгреидваите се към FireFox3 доста по бърза е 😉

ps Забравих да добавя можеби най- полезната ми добавка 😉 Foxmarks това е адонче коеот се грижи са синхронизирането на bookmark-овете на различни компютри операциониин системи и прочие 😉 Например адски е досано постояно с някви фиало да си фи пресонхорнизирам 🙂 добавката изисква само една регистрация коята ства за 2 минути и посел я върши всичко вместо вас 😉 и навсякаде сте с еднакви буукмаркове

Който каже, че IE е педераст съвсем чесно и чистосърдечно ще му кажа че греши – тои не е обикновен педераст а е тлъст дърт педераст. Половин седмица вече се мъча с дебъгване на проблеми създане ни ми от Java Script и тъпия IE. Първата ми неприятан изненада беше когато си написах един елементарен CSS за да прилича сайта не нещо докато рабо по него. Бачкам си и в един момент решавам да проверя какво ще ми покаже под Експлорера 🙂 и изненада и то не приятана едновремено бъгваше рендването на CSS и HTML-a 😆 Значи неразчиташе корекно (то и аз малко некорекн бях дефинирал) таг за линка <a href които в това си положение работеше безпробелмно в FireFox но IE не го четеше като линк и тогава добавих <a href=“ “ за да може Експлорера да ми създава празен линк 🙂 не че ми трябват празни линкове просто не ми са пише JS (Java Script) за да ми показва прозорци с подсказки и затова ползвам атрибута title на тага <а>. ОК това донякъде си е моя грешка 😉 Ама следващото е мн по фрапиращо Значи нравих икони линкове с различни икони за различни видове стреам. В FF (FireFox) изглеждат прекрасно прозрачни бордери и един леко жълти като мине мишката отгоре абе сладурско 😉 Обаче IE пак са Ибе- сложи ми един грзен син бордер и не го подменяше при ников положение 🙁 Ебаси и педала! Проблема го реших като си сетнах една променлива със съдържание „border =“0“ “ и така ако е IE браузър агента се слага бордер нула иначе си остава стоиноста по подразбиране. Далеч по интересното е че като тествах дали тоя проблем ще се прояви при друг браузър – ядец. Педераз е само IE. Опера и Нетскейп се оправят прекрасно с CSS-a ми 😉 Последната идиотщина беше в събота, когато направих фунцкика за попъп прозорци. Пак под FF сичко е 6+ обаче в един момент почва да гърми в IE. Изгубих доста нерви и цял ден да открия, една стринг променлива не я чете като такава и вместо да прочете „Radio PRJ“ ИЕ го разчита това като 2 променливи ;). Добре че беше един приятел доста способен програмист които да се сети че е срещал подобен проблем с ИЕ и неговата глуспот. Отново след тестове с др браузъри резултата беше Internet Explorer -най- голямия педераст на всички времена 🙂 Така че ако си правите заглави не прозореца ИЕ неразрешава да е повече от 1 дума (много му са виждат повече) 😀 😎 И веместо заключение ще кажа, че за в бъдещата си работа винаги ще правя оптимизации за FF а IE някога можеби дори ще го забраня от подържаните браузър типове.