Skip to Content

Optimize Drupal - Bahagian 1

Drupal sememang nya sesuai untuk semua website, samada website personal yang trafik rendah ataupun website berprofil tinggi yang trafiknya tinggi. Bagaimanapun, kita perlu optimizekan pelayar supaya lebih laju dan tidak membazir wang ringgit untuk membeli hardware atau pelayar yang lebih high end.

Perhatian yang lebih perlu diutamakan kerana ia sangat penting, walaupun anda mempunyai server yang high end. Resources yang akan hanya akan dibazirkan untuk perkara-perkara yang tiada guna. Hmm ....apatah lagi jika hanya mempunyai VPS yang hanya mempunyai RAM128 atau RAM 256 sahaja!

PHP adalah bahasa yang diinterpretasikan, setiap laman perlu memuatkan script, parse, compile ke op-kod, kemudian melaksanakannya.

Ini boleh menambah banyak masa pemprosesan, khususnya bila anda mempunyai banyak laman akses.

Op-code cache / akselerator menghilangkan beban ini / parsing / kompilasi waktu, dengan melakukan itu satu kali, dan meletaskkan dlm memori (atau disk) dan menggunakannya lain kali permintaan laman script ini.

Sebenarnya ada beberapa pemecut ... apa dia?  ha ha ...(PHP Accelerator lah tuh). Tetapi yang biasa orang pakai atau yang glamer adalah seperti dibawah :

Setelah saya kaji dan buat testing ..saya dapati, APC adalah lebih stabil dan Drupal dapat memecut lebih laju ...yeahhhh.
Latar belakang Pengujian :
VPS RM256
Centos 5.4
Apache/2.2.3
MySQL 5.1
PHP 5.3
APC-3.1.3p1
Tools :
ab (apache bench)
devel module
Drupal Caching :
Semua enable (page compression, block caching, js/css aggregation compression, JS gzip, minify)
Bagaimanapun clear semua cache setiap kali nak run "ab".
Kesimpulannya ..... bukan sahaja penggunaan memory jatuh mendadak (kira sangat baguslah nih), page request setiap saat jadi double dan masa yang diambil pun kurang separuh.
Rugi kalau tak guna APC.
Note : Untuk devel module test, adalah bagi authenticated user ..nampaknya tidak begitu menyerlah sangat, tetapi untuk anonymous ...cantikkkk !
- amirul -
            Acquia Partner in Malaysia
Keputusan nye seperti berikut ...
 


  Without APC With APC
Test #1  
Requests per second  [#/sec] (mean)   49.54 80.2
Time per request [ms] (mean) 201.854 124.69
Test #2
Requests per second  [#/sec] (mean)   53.54 127.75
Time per request [ms] (mean) 186.792 78.279
Test #3
Requests per second  [#/sec] (mean)   49.54 128.57
Time per request [ms] (mean) 201.854 77.777
Test #4
Requests per second  [#/sec] (mean)   49.54 118.77
Time per request [ms] (mean) 201.854 84.196
Memory utilization 265m - 323m 242-246m
*** after many times 10-48m only !!!
With Devel
Test #1
# of Executed queries 309 @183.49ms 264 @212.21
Page execution time 3131.72 ms 4617.91
Test #2
# of Executed queries 260 @66.19ms 257@73.67
Page execution time 1899.61 ms 2922.65
Test #3 260 @60.92ms 257 @ 64.58
# of Executed queries 1464.41 ms 2604.4
Page execution time
Test #3
# of Executed queries 260 @62.13ms 258 @ 66.37
Page execution time 3853.4 ms 6168.4
Memory used devel_init()= 4.47 MB 2.13
Memory used devel_shutdown() 40.93 MB 13.49

Comments

memcached

mungkin boleh try dgn memcache. Khalid dari xbits byk dah buat comparison dengan accelerator nih. Untuk dedicated drupal only server, try nginx+memcache+xcache. Problem untuk semua orang sama je ... macammana nak speed up kandungan dinamik authorized user. Lebih byk kepada caching technique. Ini cabaran sebenar drupal.

Pengalaman membatasi keperluan

Drupal satu perisian CMS yang fleksibel. Walaupun dengan sifat tersebut sebenarnya kalu kita salah gunakan fungsinya boleh membunuh site tersebut.Walaupun dari satu sudut kita melihat server memainkan peranan yang penting, tetapi kalu kita boleh tune Drupal, tidak perlu untuk guna server VPS atau dedicated.Sebagai contoh, satu laman dibawah selenggaraan saya, server Quad Core, memory limit 96MB, tak ade caching module just guna Litespeed, bilangan modules 98 (semua aktif) boleh run dengan baik. Ini shared hosting jer. Update available semua boleh jalan tanpa ada SWOD. Pernah try dengan anon user 50 + 30 login user serentak, still bleh jalan.Semuanya berkaitan bagaimana kita handel and manage module2 serta sistem Drupal tuh. Kalu boleh kita cache satu2 bahagian, lakukannya.

which shared hosting offer memory limit 96MB?

Memory limit 96MB sudah byk, for shared hosting, hosting mana tuh? Dulu2 we can "cheat" by bypassing that limit via .htaccess or at settings.php, but they are smarter :-) Example, exabytes don't not allow that anymore :-(

Betul, gunakan Drupal untuk tujuan apa ...shared hosting maybe enough ... each modules pun pakai resources tak sama, ada yang kurang atau lebih. not really the number of module being used. Contoh, OG or location module memang cekik darah !!

------------
najibx
xWeb : Drupal web solutions

Sasaran kpd webmaster atau web hosting company

Bagus juga  "experiment" yang dibuat saudara. Saya tercari-cari web hosting Malaysia yg boleh boleh support Drupal CMS. Utk pengetahuan saudara,portal organisasi saya capacity setoran 20GB,bandwidth 60GB, dan up-time 99%. Bayaran tahunan RM239.00 dgn kongsi IP.  Kalau nak buat perubahan pecutan kena minta ke web hosting company tolong ubah setting. Baru-baru ini web site organisasi saya berlaku internal server error, web hosting company cepat bertindak utk betulkan keadaan. Jadi nak pilih web hosting company yg bagus kena risik technical support(capability to solve the technical problem on Apache Web server and web application)Saya  observe keupayaan web server bila 20 authorized users login semasa beri latihan Asas Drupal  Siri 1 kpd staf. Ada masalah juga bila nak bina jadual dalam masa yg sama dgn 20 users-susah nak nampak column dan row. Tahniah di atas usaha saudara utk komuniti Drupal Malaysia dan web hosting Malaysia.PS:tak sampai dua bulan berhempas pulas set up Drupal  6 bagi siap dalam
tahun 2010. Orang kata Drupal CMS untuk webmaster yang betul-betul
experience.

Mohd Rizal 

Drupal on shared hosting.

RM239 per year? ini tentu shared hosting. Kebiasaannya pengguna tidak mempunyai kuasa yang lebih untuk manage akaun. Unfortunately, Drupal to be useful especially when you enable pelbagai modules memerlukan resources yang agak tinggi. Setakat 16MB atau 32MB tidak mencukupi. Kalau setakat basic drupal memanglah cukup. Ini yang kebiasaannya webhosting tak bagi tau dlm specs mereka !!
Local company such as Exabytes atau Shinjiru's shared hosting pun tidak memadai.

Article yang ditulis untuk Amirul adalah untuk sesiapa yang mempunyai Virtual Private Hosting (VPS) atau dedicated server.

Buat masa ini, Hostwaves.com adalah local webhosting company khas untuk Drupal. Akan datang kami akan menawarkan VPS dan Drupal-optimized hosting especially for Malaysian websites.

------------
najibx
xWeb : Drupal web solutions