Drupal adalah satu sistem pengurusan kandungan yang sangat kompleks. Dengan keupayaan tersebut menjadikannya sedikit perlahan untuk dijalankan sekiranya terdapat banyak modul-modul yang dipasang. Sungguhpun Drupal menyediakan sistem cache yang sangat hebat, namun tempoh pemprosesan yang perlu dijalankan oleh pihak pelayan menjadikan paparan halaman lambat untuk dibuka.

Fungsi

Modul Boost menyelesaikan masalah ini dengan menyediakan cache statik dalam bentuk fail HTML. Penyediaan fail-fail HTML kepada pengguna membolehkan laman Drupal dipecutkan hampir 300% lebih laju berbanding tanpanya tetapi terhad kepada pengguna tidak berdaftar sahaja. Oleh itu modul ini sangat sesuai digunakan untuk laman jenis blog pada pengehosan web jenis perkongsian (shared hosting).

Modul Boost telah diuji pada pelbagai jenis perisian termasuk Apache, Nginx, Lighttpd dan IIS 7. Ia juga boleh digabungkan dengan pemecut pelayan seperti Memcache dan APC.

Boost akan menghasilkan fail statik dan dimampatkan ke dalam bentuk html, css, xml, ajax dan javascript. Setiap perubahan untuk laman yang di cache akan dibina semula berdasarkan kepada selang masa dan kunci perubahan pada masa luput. Boost menyediakan agen pengindeks yang akan merantau ke seluruh laman untuk mempercepatkan proses cache dilakukan.

Keperluan dan pemasangan

Modul Boost memerlukan:

  • cron pelayan berfungsi dengan baik
  • fungsi "Clean URL" atau mod rewrite diaktifkan

Langkah-langkah untuk memasang modul Boost:

  1. muat turun di https://www.drupal.org/project/boost dan pilih untuk versi Drupal 6
  2. nyah-mampat fail tersebut dan letakkan keseluruhan folder "boost" di sites/all/modules
  3. aktifkan modul ini di bahagian Administer Site building Modules di bawah kategori "Caching"
  4. gelungsur ke Administer Site configuration Performance dan pilih tab "Boost settings" untuk memulakan konfigurasi Boost.

Konfigurasi modul Boost

Boost file cache

  • Boost - Static page cache: mengawal sama ada Boost diaktifkan atau dimansuhkan.
  • Gzip page compression (Boost & Core): sekiranya pengehosan web sudah menyediakan fungsi ini, sila mansuhkan untuk mengelak daripada ralat paparan. Sila hubungi pihak penyedia hos mengenai perkara ini.
  • Boost - HTML - Default maximum cache lifetime: selang masa untuk satu-satu fail HTML dihasilkan semula. Setkan kepada 1 jam untuk prestasi seimbang
  • Boost - XML - Default maximum cache lifetime: selang masa untuk cache fail-fail xml. Biasanya ini diaktifkan jika modul Sitemap XML digunakan.
  • Boost - JSON - Default maximum cache lifetime: selang masa untuk aktiviti Ajax dijalankan semula.

Boost cacheability settings

Bahagian ini adalah tetapan utama bagaimana modul ini akan menjalankan tugasnya. Setiap pilihan yang disediakan akan memberi kesan halaman yang akan dibina kandungan statik.

  • Cache pages that contain URL Variables
    hasilkan halaman statik sekiranya mempunyai beberapa muka surat (aktifkan)
  • Cache html documents/pages
    hasilkan halaman statik untuk semua laman yang dipaparkan (aktifkan)
  • Cache .xml & /feed
    hasilkan halaman statik untuk fail XML dan juga suapan RSS (aktifkan)
  • Cache ajax/json
    hasilkan halaman statik untuk kandungan yang dibina menerusi Javascript (mansuhkan)
  • Cache .css
    gabung dan statikkan fail-fail CSS (aktifkan)
  • Cache .js
    gabung dan statikkan fail-fail Javascript (aktifkan)
  • Only allow ASCII characters in path
    membenarkan hanya aksara standard sahaja digunakan pada URL (aktifkan)
  • Do not cache if php error on page
    modul ini berhenti menghasilkan halaman statik sekiranya terdapat ralat pada laman tersebut (mansuhkan)
  • Do not cache if a message is on the page
    halaman tidak dihasilkan sekiranya terdapat mesej pada laman tersebut (mansuhkan)
  • Do not cache if there is an alias for this URL
    sekiranya anda menggunakan modul Pathauto + Global redirect, barulah aktifkan fungsi ini

Apabila modul Boost diaktifkan, kemungkinan besar terdapat beberapa konflik yang akan terjadi terutamanya apabila melibatkan sinkronasi "cookies" dan sesi pengguna (sessions). Bahagian ini membolehkan kita untuk mengecualikan halaman tertentu daripada dihasilkan halaman statik bagi membolehkan fungsi sesi berjalan seperti biasa.

Modul: Boost (pemecut Drupal)-9177

Contoh di atas akan mengecualikan dua halaman penting yang memerlukan sesi dan cookies dipanggil secara terus.

Boost cache expiration/flush settings

Bahagian ini adalah konfigurasi untuk pengendalian fail-fail yang sudah luput dan perlu dihasilkan semula pada selang masa yang telah ditetapkan dalam bahagian pertama. Untuk memudahkan proses tetapan ini, ikuti panduan di bawah ini:

Modul: Boost (pemecut Drupal)-9178

Boost directories and file extensions

Bahagian ini adalah tetapan untuk direktori penyimpanan semua fail-fail statik yang dihasilkan oleh modul Boost. Anda boleh menggunakan tetapan sendiri TETAPI disarankan agar ianya dibiarkan untuk tetapan asal.

Sekiranya di pengehosan web, pastikan anda hasilkan folder "cache" dalam "root" dan berikan kebenaran CHMOD 777 kepadanya. Kerana Drupal memerlukan kebenaran untuk menulis dan mengendalikan fail-fail sepenuhnya. Jika tidak modul Boost tidak akan dapat berfungsi dengan sempurna.

Boost advanced settings

Ruangan ini hanya digunakan pada peringkat yang terlalu tinggi. Bagi pengguna biasa dan pertama kali menggunakan modul Boost, hanya biarkan semua tetapan seperti yang asal. Hanya set dan masukkan nilai pada medan berikut sahaja:

Modul: Boost (pemecut Drupal)-9179

Tetapan digunakan untuk menentukan kebenaran setiap fail dan folder yang dihasilkan oleh modul Boost serta mengekalkan tahap keselamatan laman.

Boost crawler

Ini adalah tetapan untuk agen pengindeks yang disediakan oleh modul ini. Ia akan merantau ke setiap pelusuk laman anda untuk menghasilkan halaman statik supaya pengunjung pertama terus dipaparkan halaman statik kepadanya. Untuk tetapan yang paling optimum bagi pengehosan jenis perkongsian, tetapan berikut boleh digunakan.

Modul: Boost (pemecut Drupal)-9180

Boost Apache .htaccess settings generation

Ini adalah ruangan tetapan terakhir. Bahagian ini adalah konfigurasi untuk modul Boost bekerjasama dengan sistem pengehosan web menerusi modifikasi fail .htaccess. Setiap perubahan yang dilakukan di sini perlu dikemas kini perubahan pada fail .htaccess.

Sekiranya anda tidak mengemas kini kod modifikasi yang perlu ditambah dalam fail .htaccess, keseluruhan laman tidak dapat diakses oleh sesiapa. Pastikan kemas kini ini dilakukan.

Sekiranya anda memasangnya di localhost dan kemudian berhasrat untuk memuat naik ke dalam pengehosan web, pastikan ruangan ini disemak selepas proses muat naik selesai dijalankan. Tetapan berikut boleh dilakukan untuk membolehkan Boost berfungsi dengan baik pada semua keadaan.

Modul: Boost (pemecut Drupal)-9181

Setelah semua tetapan dilakukan, klik butang "Save configuration". Untuk langkah terakhir, kita perlu melakukan sedikit modifikasi tambahan pada fail .htaccess sebelum modul Boost ini berfungsi sepenuhnya.

Suntingan pada fail .htaccess

Fail .htaccess ini adalah kumpulan arahan yang akan menentukan tindakan yang akan dilakukan oleh pihak pengehosan web (pelayan). Modul Boost perlu berinteraksi dengan pelayan supaya fail-fail statik disediakan kepada pelawat biasa dan kandungan dinamik kepada pengguna yang berdaftar.

Pergi ke Administer Site configuration Performance Boost htaccess rules generation

Modul: Boost (pemecut Drupal)-9183

Salin keseluruhan kod htaccess yang diberikan.

Kemudian sunting fail .htaccess hos web anda yang terletak pada folder "root".

Modul: Boost (pemecut Drupal)-9184

Tampal (paste) kod yang telah disalin tadi pada baris antara:
# RewriteBase /
dan
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.

Modul: Boost (pemecut Drupal)-9185

Simpan dan muat naik fail yang telah disunting ini. Seterusnya modul Boost akan mula berfungsi dan menjalankan tugasnya. Anda boleh cuba lihat kesan paparan laman jauh lebih pantas dari sebelum ini.

Penilaian: 
5
Average: 5 (2 votes)

Komen

wadai's picture

Terima kasih.. tutorial ini amat bermakna, :)

------

http://adi.my

MiraKimura's picture

terima kasih en. parasolx! ;)

MiraKimura's picture

En. Parasolx, nak tanya.

Apakah kebarangkalian masalah apabila block bagi Webmaster (Navigation) tidak berada pada setiap muka seperti sebelumnya? Menyebabkan menu (tab) edit setiap post juga tiada.

Terima kasih!

parasolx's picture
Admin

Salam,

Adakah website tersebut menggunakan modul Boost? Saya bertanya kerana soalan diajukan di artikel ini?

Kebarangkalian menu tersebut tidak muncul adalah disebabkan fail template yang mungkin telah diubah secara custom. cuba inject url "edit" dibelakang path node untuk lihat sama ada permission tidak berubah.

contoh: http://www.example.com/kandungan-pertama -- dapatkan NID untuk node tersebut terlebih dahulu, katakan 5. kemudian cuba injectkan path seperti ini: http://www.example.com/node/5/edit.

jika node berjaya di edit bermakna tiada masalah dari segi permission tapi mmg confirm masalah datang daripada template. cuba semak code dalam fail template.

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training

MiraKimura's picture

Waalaikum salam wbt.

Memang menggunakan modul ini. Dan masalah ini hanya berlaku selepas saya pasang BOOST.

Saya dah cuba view guna node. Ternyata BOLEH edit.

Menggunakan modul ini, saya hanya ubah fail .htaccess seperti dalam langkah dan tidak mengusik fail lain. Adakah fail ini yang dimaksudkan?

parasolx's picture
Admin

Hrm, perkara ini sangat pelek.. sebab module boost tidak mengubah fail themes. dan selalunya tab edit hilang mmg berkait dengan permission atau themes sahaja. jd skrg ni permission kita dah check tak ada masalah.

boleh tak cuba disablekan boost dan cuba lihat tab edit muncul semula atau tidak.

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training

MiraKimura's picture

Yea.. dah muncul balik!

parasolx's picture
Admin

jika betul, terasa pelek kerana Boost tak menyebabkan tab edit boleh hilang sebegitu sahaja. ok, cuba enablekan semula, kemudian clearkan cache boost dan juga cache drupal. jika muncul maknanya sebelum ini terlupa untuk clear cache selepas boost diactivekan.

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training

MiraKimura's picture

Dah enable balik. Edit tab masih hilang². Clear cache tau, dah buat. Clear cache boost di mana?

parasolx's picture
Admin

Administer > Site configuration > Performance dan pilih tab "Boost settings". Scroll ke bahagian paling bawah, ade satu button untuk clear all cache boost files.

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training

MiraKimura's picture

Dah clear (setelah 4 kali 'Page cannot be displayed). Dah boleh edit! Cuma block Webmaster (Navigation) tu tak keluar di homepage.

Apa²pun, selainnya nampak ok. Terima kasih en. Parasolx!

(Perlu tambah clear cache tu dalam step di atas?)

parasolx's picture
Admin

Maknanya memang disebabkan oleh cache belum clear.

Jadi, saya dah set artikel ini untuk "Tambahan fakta". Thanks for the feedback.

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training

MiraKimura's picture

Assalamualaikum dan salam sejahtera.

Maafkan saya, tapi saya ada masalah lagi dengan modul ni.

Nampaknya masalah tab edit itu hanya selesai sementara. Selepas beberapa ketika, ia tidak muncul semula.

Dan saya dapati post (story) baru saya tidak terpapar terus seperti sebelumnya. Ia hanya hanya terpapar selepas saya log keluar.

Kenapa agaknya situasi ini berlaku? Di mana kesilapan saya?

parasolx's picture
Admin

Salam,

Nampaknya ini adalah masalah ralat yang baru. sebab Boost dicipta khas untuk pengguna tidak berdaftar. dalam erti kata lain, pengguna tidak berdaftar yang akan melihat satu kandungan lewat dipaparkan. sebaliknya jika user login, boost akan dimatikan secara sendiri.

cuba aktifkan Boost tetapi dibahagian Settings, disablekan fungsi ini: Gzip page compression (Boost & Core).

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training

MiraKimura's picture

Tidak berkesan.

Adakah disebabkan di Statically cache specific pages, di kotak page perlu ditulis

/user
/user/password

tanpa / di hadapan, menjadi:

user
user/password

?

parasolx's picture
Admin

Salam,

cuba buat perubahan tersebut. Sebab kadang2 berlainan server cara management terhadap URL alias akan berbeza sedikit.

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training

MiraKimura's picture

Setelah perubahan² ini, adakah fail .htaccess perlu diedit semula?

parasolx's picture
Admin

Tidak perlu. sebab perubahan yang kita buat tidak melibatkan .htaccess. Jangan lupa untuk clear cache Drupal + browser. dan kemudian logout dari semua sistem. Clearkan cookies sepenuhnya, dan cuba log masuk kembali.

sbb kadang kala browser masih menggunakan fail cache yang menyebabkan error pada sistem Drupal yg menggunakan Boost. especially kalu kita guna IE.

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training

Nazril's picture

Salam,
dalam modul ni.. apabila user berdaftar tambah komen, user berdaftar yang lain dapat lihat komen tersebut.
tetapi user yang tidak berdaftar tidak dapat melihat komen tersebut.
bagaimana nak seting anonymous user boleh melihat komen tersebut.

parasolx's picture
Admin

Salam, modul Boost mmg dicipta khas untuk anonymous user. Maknanya cache hanya memberi kesan kepada pengguna tidak berdaftar. User berdaftar, bile login sahaja, cache akan dimatikan. Apa yang mereka lihat adalah yang realtime punye page.

Jadi, kalu untuk membenarkan anonymous melihat komen tersebut, boleh pendekkan waktu atau masa satu2 cache hidup seperti 10 minit, atau 5 minit (bergantung kepada kekerapan komen dihantar). Jika komen dihantar dalam tempoh satu jam, lebih sesuai tetapkan kepada 1 jam.

------

Hadafi Solution & Resources: http://parasolx.net
Professional in Drupal web development, theme designing, consultation and training