Drupal Meetup - Jakarta      Arradi Nur Rizal    Drupal Performance     23 February 2013
Biasanya komentar yang ada    Drupal lambat    Kalau memory nya kurang di tambahin    Jgn pakai CCK/views/Panels dll  ...
Filosofi nya    Performance tuning is a process    Tidak ada jalan cepat    Setiap site berbeda beda
Bagaimana si website itu bekerja?    Ada yang tahu ?
Step 0: Evaluasi−   Catat performance sebelum instalasi module atau    penambahan feature−   Catat performance setelah ins...
Step 1: Masalahnya dimana si?    Kapan terjadinya?    −   Di semua halaman? anonymous user dan/atau        authenticated ...
Step 1: Masalahnya dimana si?    Kapan mulai terjadi kelambatan?    −   Hindari perasaan “sepertinya lebih cepat/lambat” ...
Step 1: Masalahnya dimana si?    Siapa/apa yang musti disalahkan?    −   Tes semua feature yang sudah di        implement...
Step 1: Masalahnya dimana si?    Dimana masalahnya terjadi ?    −   page building modules (views and panels)    −   exter...
Step 1: Masalahnya dimana si?    Components yang salah konfigurasi    −   Tidak di cache secara default    −   Tahu apa y...
Step 1: Masalahnya dimana si?    Gunakan devel module    −   Query log. Untuk mengecek query log                    Cont...
Step 1: Masalahnya dimana    Biasanya ada di     - statistic module (matikan), pakai google    analytics     - tracker ...
Step 2: Gunakan Caching−   component level caching            Paling bagus untuk authenticated user            stores-us...
Step 2: Gunakan Caching    Gunakan block caching    −   Akan dimatikan oleh node access    −   Performa paling baik untuk...
Step 3: Optimumkan Software    install pressflow jika memakai drupal 6    Gunakan CDNs, reverse proxies dan Slave    dat...
Step 3: Optimumkan Software                  (PHP)    install APC (Another PHP Cache), kurangi disk    access (terutama d...
Step 3: Optimumkan Software                  (MySQL)    Gunakan database slaves    "Lindungi" the Master database dari q...
Step 3: Optimumkan Software                  (Apache)    Prefork* vs Worker    FastCGI vs mod_php*    .htaccss vs Virtu...
Step 4: Tambah software    Tambah memcached    - Semua caches tables and sessions disimpan di dalam    memory.    - Hal...
Step 4: Tambah software    apache solr    - search menggunakan banyak cpu    - Menggunakan tomcat sebagai host    - Me...
Step 4: Tambah software    varnish    - silly fast reverse-proxy cache    - berada di depan apache    - server menggun...
Pertanyaan ?    Untuk lebih detail, bisa meminta workshop    tambahan :)
Contact    anrizal@gmail.com    @arradirizal    Www.arradi.com    Www.anrizal.com
Upcoming SlideShare
Loading in...5
×

Drupal Performance Indonesia

252

Published on

Materi Drupal Performance by Arra'di Nur Rizal yang dibawakan di event Workshop Building & Performance di Jakarta.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
252
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Drupal Performance Indonesia

  1. 1. Drupal Meetup - Jakarta Arradi Nur Rizal Drupal Performance 23 February 2013
  2. 2. Biasanya komentar yang ada Drupal lambat Kalau memory nya kurang di tambahin Jgn pakai CCK/views/Panels dll Kalau kamu tdk install x, bakal lambat dll Perlu Multiple servers Harus ada mysql slave server Pakai ada Varnish. Masalah bakal beres
  3. 3. Filosofi nya Performance tuning is a process Tidak ada jalan cepat Setiap site berbeda beda
  4. 4. Bagaimana si website itu bekerja? Ada yang tahu ?
  5. 5. Step 0: Evaluasi− Catat performance sebelum instalasi module atau penambahan feature− Catat performance setelah instalasi module atau feature.− Catat penggunakan memory− tips: use tag performance in issue queue untuk evaluasi suatu module.
  6. 6. Step 1: Masalahnya dimana si? Kapan terjadinya? − Di semua halaman? anonymous user dan/atau authenticated user? − Hanya ketika menyimpan konten ? Hanya ketika login? − Ketika loadnya besar? Terjadi secara acak dalam satu hari?
  7. 7. Step 1: Masalahnya dimana si? Kapan mulai terjadi kelambatan? − Hindari perasaan “sepertinya lebih cepat/lambat” − Catat data performance − Catat dan simpan log dari setiap update/upgrade.
  8. 8. Step 1: Masalahnya dimana si? Siapa/apa yang musti disalahkan? − Tes semua feature yang sudah di implementasikan satu per satu untuk mencari masalah. − Catat perubahan infrastruktur. Seperti perubahan permission di hosting.
  9. 9. Step 1: Masalahnya dimana si? Dimana masalahnya terjadi ? − page building modules (views and panels) − external web services (user logins, Any 3rd-party integration) − Kerumitan website (jumlah modules, views di dalam panels di dalam panels)
  10. 10. Step 1: Masalahnya dimana si? Components yang salah konfigurasi − Tidak di cache secara default − Tahu apa yang sudah di cache
  11. 11. Step 1: Masalahnya dimana si? Gunakan devel module − Query log. Untuk mengecek query log  Contoh: Cek apa ada query yang sama di eksekusi dalam satu halaman − Xhprof. Untuk analisa fungsi2. Akan menunjukan fungsi mana yang memakan waktu yang lama
  12. 12. Step 1: Masalahnya dimana Biasanya ada di - statistic module (matikan), pakai google analytics - tracker module (matikan), use tracker 2 - XMLSitemap (matikan 1.x branch) - Nodewords (), meta tag nya di digunakan di theme atau mengunakan page alter - user relationship module, - any kind of access control modules (OG, taxonomy access control)
  13. 13. Step 2: Gunakan Caching− component level caching  Paling bagus untuk authenticated user  stores-userfacing components− page-level caching  Cache yang paling mungkin/gampang  Hanya untuk anonymous users  Disimpan dalam format full HTML  Tips: set sangat rendah, 1 minute
  14. 14. Step 2: Gunakan Caching Gunakan block caching − Akan dimatikan oleh node access − Performa paling baik untuk for authenticated users − Jika ada perubahan konten, block dan page cache akan di hapus. − Gunakan "minimum cache lifetime" Gunakan expiration of cached pages Gunakan aggregation/ compression hanya di production
  15. 15. Step 3: Optimumkan Software install pressflow jika memakai drupal 6 Gunakan CDNs, reverse proxies dan Slave database servers Anonymous users jangan mempunyai session.
  16. 16. Step 3: Optimumkan Software (PHP) install APC (Another PHP Cache), kurangi disk access (terutama di cloud servers)ketika mengkompilasi PHP files Simpan file PHP yang sudah di kompilasi di memory. Di php.ini gunakan shm_size = 128M supaya drupal cukup di dalam cache apc.php akan memberikan statistic pengunaan apc. Anda ingin 99% hit rate. Karena itu berarti anda 99% tidak membaca dari disk.
  17. 17. Step 3: Optimumkan Software (MySQL) Gunakan database slaves "Lindungi" the Master database dari queries sebisa mungkin. Nyalakan query caching dan innoDB buffers (default in D7) Tools untuk mengecek − mysqltuner.pl − launchpad.net/mysql-tuning-primer Tips − myisam, best in read − innodb_ best in insert, update. − module db_tunner
  18. 18. Step 3: Optimumkan Software (Apache) Prefork* vs Worker FastCGI vs mod_php* .htaccss vs Virtual Host entries KeepAlive On of Off Disable "unneded modules" calculate MaxClients − MaxClients * httpd size = Penggunaan Memory − httpd size = Jumlah memory yang digunakan untuk menjalankan drupal (lebih banyak modules, lebih besar ukuran httpd size)
  19. 19. Step 4: Tambah software Tambah memcached - Semua caches tables and sessions disimpan di dalam memory. - Halaman untuk Anonymous user akan di ambil dari memory dengan page cache enabled - Akan menaruh semua cache table di dalam memory - Beri ruang yang luas untuk berkembang. 128MB sebagai permulaan Cek memcache.php Cari memcache.php dengan cara find / -name memcache.php
  20. 20. Step 4: Tambah software apache solr - search menggunakan banyak cpu - Menggunakan tomcat sebagai host - Membutuhkan process cpu yang besar, tetap menggunakan memory yang rendah. Coba taruh di mesin yang berbeda. Module: apachesolr, search_api
  21. 21. Step 4: Tambah software varnish - silly fast reverse-proxy cache - berada di depan apache - server menggunakan images, static files dan anonymous page dari memory.
  22. 22. Pertanyaan ? Untuk lebih detail, bisa meminta workshop tambahan :)
  23. 23. Contact anrizal@gmail.com @arradirizal Www.arradi.com Www.anrizal.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×