Optimalizálása javascript és css-fájlok drupal, drupal bloggerek
Ez az oldal egy kísérlet, hogy javítsa a kommunikációt a legaktívabb fejlesztő a CMS Drupal - bloggerek. Ha fut a blog Drupal, így készen áll, hogy ossza meg tudását és segíteni másokon. Nem mindig a tudás eljut a fogyasztóhoz. A célja ennek a honlapnak, hogy összesítik a tudás a különböző blogok egyetlen szalagot, és vezet, hogy a blog aktív felhasználó.
Aktív felhasználók az oldalon lesz további ösztönzést ad a további munkához.
Sok szerencsét minden erőfeszítést!
Hogyan kezdjük el a honlap?
- Böngésző oldalon kezdődik a GET-kérelmet oldalt.
- A szerver küld egy kérést, hogy ezt a HTML-kódot oldalain.
- A böngésző értelmezi a kódot, és megkezdi a letöltést minden külső fájlokat (JS, CSS, Flash, stb) abban a sorrendben jelennek meg a kódot.
- Normális esetben a böngésző nem használ több mint 2 stream betöltésére külső fájlokat, és a CSS és a JS-e töltve minden egy patak.
- Itt az ideje minden kérés méretétől függ a visszaküldött válasz szerver terhelését és tevékenysége minden gépen egészen a böngésző és a szerver.
- Minél nagyobb a fájl mérete - annál tovább fogják szállítani a böngésző.
- Minél nagyobb a fájlok számát - annál tovább fog betölteni az egész oldalt.
Így, hogy növelje a letöltési sebesség miatt szükséges:
- modules / comment / comment.js
- modules / profile / profile.js
- modules / openid / openid.js
- modules / taxonomy / taxonomy.js
- modules / system / system.js
- modules / block / block.js
- modules / szín / color.js
- modules / user / user.js
- misc / autocomplete.js
- misc / drupal.js
- misc / collapse.js
- misc / batch.js
- misc / farbtastic / farbtastic.js
- misc / form.js
- misc / tableselect.js
- misc / ahah.js
- misc / tabledrag.js
- misc / textarea.js
- misc / progress.js
- misc / tableheader.js
- misc / teaser.js
- misc / jquery.form.js
- misc / jquery.js
CSS-fájlok
A projekt száma és teljes mérete más lesz.
A csapat önellenőrző CSS fájl mérete:
találni. -name '* .css' -exec ls -l # 123; # 125; \; | awk 'END'
A mi projekt, amellett, hogy a core fájlok, még mindig mintegy 450 további modulok és sminkek.
A teljes mérete az összes CSS-fájlok - 1'674'793 bájt.
Ami a CSS-fájlok Drupal 6 mag, itt vannak:
- modules / locale / locale.css
- modules / aggregátor / aggregátor-rtl.css
- modules / aggregátor / aggregator.css
- modules / update / update.css
- modulok / frissítés / update-rtl.css
- modules / poll / poll.css
- modules / poll / poll-rtl.css
- modules / megjegyzés / comment-rtl.css
- modules / comment / comment.css
- modules / tracker / tracker.css
- modules / forum / forum-rtl.css
- modules / forum / forum.css
- modules / könyv / book.css
- modules / könyv / book-rtl.css
- modules / profile / profile.css
- modules / search / search-rtl.css
- modules / search / search.css
- modules / openid / openid.css
- modulok / node / node-rtl.css
- modules / node / node.css
- modules / taxonomy / taxonomy.css
- modules / system / system-menük-rtl.css
- modules / system / admin-rtl.css
- modules / system / admin.css
- modules / system / maintenance.css
- modules / system / defaults-rtl.css
- modules / system / defaults.css
- modules / system / rendszerszintű rtl.css
- modules / system / rendszerszintű menus.css
- modules / system / system.css
- modules / block / block.css
- modules / szín / color.css
- modules / színes / színes-rtl.css
- modules / help / help.css
- modules / help / help-rtl.css
- modules / dblog / dblog.css
- modules / dblog / dblog-rtl.css
- modules / user / user.css
- modules / user / felhasználó-rtl.css
- misc / print-rtl.css
- misc / farbtastic / farbtastic.css
- misc / print.css
- témák / bluemarine / style.css
- témák / bluemarine / style-rtl.css
- témák / koszorú / print.css
- témák / koszorú / style.css
- témák / koszorú / Minnelli / minnelli.css
- témák / koszorú / color / preview.css
- témák / koszorú / style-rtl.css
- témák / koszorú / fix-ie.css
- témák / koszorú / fix-ie-rtl.css
- témák / nyomógomb / style.css
- témák / nyomógomb / style-rtl.css
- témák / kaméleon / common-rtl.css
- témák / kaméleon / style.css
- témák / kaméleon / Marvin / style.css
- témák / kaméleon / Marvin / style-rtl.css
- témák / kaméleon / common.css
- témák / kaméleon / style-rtl.css
A teljes mérete a CSS-fájl egy nagyságrenddel kisebb, mint a JS-fájlt. De meg kell jegyeznünk, hogy a CSS-fájl az oldalon sokkal több, mint JS-fájlok - körülbelül 2-szer nagyobb. Ezen túlmenően, a stílusok hajlamosak betöltött összes oldalt (ez a stílus a téma), és csak modulok stílusok lehet letölteni bizonyos oldalakon. Így és stílus fájl, és a szkriptek szüksége van a figyelmet egyaránt.
Limited Internet Explorer
IE 6-8 Browser korlátozza a száma és mérete CSS-fájl:
- Minden hozzátéve szerű tag után az első 31 tag figyelmen kívül hagyja.
- Minden CSS-szabályok az első 4095 szabályok figyelmen kívül hagyja.
- Az oldalak, amelyek @import szabály importálni külső stíluslapok, hogy importálni más külső stíluslapok, stíluslapok, több mint 3 szint mélységig - figyelmen kívül hagyja.
Korlátozások a HTTP protokoll
Kíváncsi vagyok, hogy a korlátozás a számos böngészők AJAX kapcsolatok?
Szerint a HTTP 1.1 specifikáció böngésző kell állítani akár 2 egyidejű kapcsolat (és ez spravedlivao az IE6 / 7) egyetlen host. A Firefox és az Opera, ez az opció testreszabható, és nem kevesebb, mint 4 alapértelmezés szerint. Egyes jelentések szerint IE8 - 6 kapcsolatok egy fogadó.
Forrás: Raising network.http.max-persistent-kapcsolat-per-server?
- Firefox 2: 2
- Firefox 3 béta 4: 4
- Opera 9.26: 4
- Opera 9.5 beta 4
- Safari 3.0.4 Mac / Windows: 4
- IE 7: 2
- IE 8: 6
- A legtöbb JS és CSS-fájlok nem optimalizált.
- Sok kép és a teljes mérete jelentősen.
- Van probléma az IE böngészőt, amely korlátozza a CSS-fájlok az oldalon.
- Gondok vannak az oldal betöltése sebesség miatt a nagy számú külső fájlok és korlátozza a több egyidejű kapcsolatot böngésző a szervernek.
Kérést a szerver és a szerver küld tömörített tartalmat
- CSS optimalizálás nem történik, amikor a hely a Maintenance Mode ( „Szolgáltatás”), vagy indítsa el a frissítést (update.php).
- Az optimalizált fájlok kerülnek a húr, mint a paraméter, amely lehetővé teszi, hogy ellenőrizzék a böngésző cache fájlokat. Amikor fut update.php vagy állítsa vissza a gyorsítótár megtelik - én ezt a vonalat, amely arra kényszeríti a böngészőt újra az új változat a fájl, mivel úgy vélik, hogy az URL megváltozott.
- Részt vesz Fájloptimalizálás megoldja a 4. érv drupal_add_css function () - $ preprocess, amely meghatározza, hogy a fájl, hogy részt vegyenek az optimalizálás, ha engedélyezve van. Alapértelmezésben a fájl lesz részt optimalizálás.
- 2 elsőként kialakuló fájlok listáját, amelyek nem vesznek részt a optimalizálása CSS - egyedül az (1) modulok és külön-külön (2) azok.
- Ezután hozzon létre egy fájlnevet, amely tárolja az optimalizált CSS és a hívott drupal_build_css_cache () függvényt. amely összesítve és optimalizálja CSS fájlok.
- Az eredményül kapott fájl tárolja a sites / default / files / css mappában található (több gépen telepítés másik módja, de - úgy gondolom -, hogy te és tudja, hol lesznek tárolva).
Ez magában foglalja az optimalizálási?
Így az optimalizálás kínálunk Drupal core valójában egy minimalizáló összesítés egyetlen fájlba.
Hátrányai a módszer optimalizálására a magban Drupal
optimalizálási módszer, mellyel a lényege Drupal biztonságos, azaz, hogy nem vezet a kódon. De a módszer nem olyan hatékony, mint amilyennek látszik.
Az a tény, hogy az oldal lehet egy tucat 2 különböző szkriptek, amelyek gyűjtik egy egyedi fájl cache ehhez az oldalhoz. Scripts az oldalon lehet betölteni függően a felhasználói hozzáférési jogokat vagy akár olyan körülményt, amely növeli a számos lehetőség egy oldalt.
- Ha úgy dönt, hogy használja a forgalom tömörítési teljesítmény tuning oldal
- Expansion PHP zlib) jelen van a rendszerben,
CSS-hack, hogy a munka:
Tesztelés az oldalak betöltési sebessége
Mértem az oldalak betöltési ideje végeztek, hogy megtudja, hogyan kell változtatni az átlagos letöltési időt a különböző optimalizálási módszerekkel JS-fájlokat. A vizsgálati terület több mint 1300 JS-fájlok és csaknem 450-CSS-fájlokat. BERENDEZÉSEK modulok 227 (beleértve a rendszermag modulok). különböző optimalizációs technikák is vizsgálták:
vizsgálati körülmények
böngésző beállításait
- Tesztelt: Nyitólap A vizsgálati helyszín
- Böngésző: Firefox 3.6.13
- A böngésző cache: 500M
- Mérőszerszám: YSlow 2.1.0
- Proxy szerver: nem használt
- A szerver használ: Accelerator
- Operációs rendszer: Linux
- Kernel verzió: 2.6.29-5
- Építészet: x86_64
Beállítások Drupal
- Felhasználó Drupal: Super User
- Tárolt üzemmódban: Normál
- Minimális gyorstár élettartam: nincs
- Oldal tömörítés: engedélyezve
- Blokk cache: engedélyezve
- Optimalizálja CSS fájlok: engedélyezve
teszteredmények
Az oldal átlagos betöltési ideje
Diagram időt az oldal betöltése különböző módban
Elemzés a vizsgálati eredmények
hasznos linkek
szkriptek kompresszorok
Az, hogy a terhelési eleme a böngésző oldal