Arsip Tag: tips

Tips Cara Cepat Optimisasi Banyak File PNG di Linux

Bagi kawan-kawan yang sering bekerja untuk proyek web dan semacamnya yang menggunakan gambar, saya yakin pasti pernah melakukan optimisasi gambar agar lebih efisien, khususnya jika akan diakses lewat internet, dan salah satu tipe gambar favorit yang sangat sering dijadikan icon di website adalah tipe data PNG.

Nah tips kali ini adalah, jika kita mempunyai banyak data PNG dan capek untuk lakukan optimisasi satu persatu (apalagi kalau sampai ratusan :D) menggunakan aplikasi pengolah gambar yang umum, silahkan gunakan tools optipng di Linux yang jalan di terminal.

Pertama kali silahkan instalasi dulu aplikasinya, misal jika menggunakan keluarga debian bisa langsung;

sudo apt-get install optipng

Setelah terinstall silahkan langsung buka terminal dan arahkan ke file-file yang akan dioptimisasi. Misal, saya ingin melakukan optimisasi pada semua file PNG yang berada di folder /home/bair/pictures/web1/images maka silahkan langsung jalankan perintah berikut (dianjurkan untuk copy dulu foldernya, selain untuk backup juga untuk membandingkan :D);

optipng /home/bair/pictures/web1/images/*.png

Dan secara otomatis gambar-gambar PNG kita yang ada di folder tersebut sudah langsung teroptimisasi *benar gak bahasa Indonesianya :D*.

Nah, kalau belum puas dengan set default seperti diatas, silahkan gunakan opsi-opsi dari optipng ini, untuk infonya bisa langsung cek di;

man optipng

atau

optipng –help

Selomat menikmati 🙂

Tips mudah menyetel konfigurasi MySQL menggunakan MySQLTuner di Linux

Sering kita dengar ada yang mengeluhkan performa aplikasinya baik desktop maupun web, dan buru-buru menyalahkan database MySQL. Padahal diluar sana, banyak sekali contoh-contoh aplikasi/web yang data dan traffiknya jauh lebih dasyat dengan jutaan baris dalam tabel dan request gila-gilaan, terbukti tetap bisa terhandle dengan baik, contoh saja Facebook, Yahoo, Google (katanya sih pada Adsense, cmiiw), dan lain-lain. Oh ya, aplikasi tabulasi pemilu yang dikerjakan teman-teman SERIS juga menggunakan database MySQL ini.

Berbicara tentang performa, database setidaknya tergantung akan 3 hal, yaitu ketangguhan dari Mesin Server Database MySQL, code query/aplikasi dan settingan konfigurasi server.

Untuk mesin server sih tentu saja dilakukan dengan meningkatkan performa server baik melalui scale-in maupun scale-out, memilih OS serta environment yang tepat, dan lain-lain. Sedangkan untuk code dan query, kita bisa merapikan code kita agar tidak hanya efektif tapi juga harus efisien, hmm.. untuk tahap awal saya kira mengikuti 84 tips dari komunitas (MySQL Camp 2006) sudah sangat lumayan :D.

Nah sekarang Bair mau coba perlihatkan salah satu cara sederhana untuk membantu kita melakukan konfigurasi MySQL-nya di mesin Linux kita (my.cnf) menggunakan MySQLTuner (yang saya juga sebenarnya tahu dari web Ubuntu Geek :D).

Adapun langkah-langkahnya sebagai berikut;

1. Pertama-tama siapkan mesin dengan OS Linux dan MySQL -> Warning: Ini wajib, soalnya apa yang mau dites, kalau tidak ada hehehe..

Coba kita lihat kondisi komputer server abal-abalan Bair untuk coba-coba ini;

guyub@guyub:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION=”Ubuntu 8.04″

guyub@guyub:~$ cat /proc/cpuinfo |grep “processor\|model name”
processor    : 0
model name      : AMD Athlon(tm)

guyub@guyub:~$ cat /proc/meminfo |grep Mem
MemTotal:       515608 kB
MemFree:         28408 kB

guyub@guyub:~$ mysql –version
mysql  Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (i486) using readline 5.2

2. Setelah itu instal, MySQLTuner, di Ubuntu bisa

sudo aptitude install mysqltuner

atau download scriptnya

wget http://mysqltuner.com/mysqltuner.pl

3. Kemudian jalankan scriptnya di terminal dan lihat hasilnya;

guyub@guyub:~$ chmod +x mysqltuner.pl

guyub@guyub:~$ sudo ./mysqltuner.pl

>>  MySQLTuner 1.0.0 – Major Hayden <major@mhtx.net>
>>  Bug reports, feature requests, and downloads at http://mysqltuner.com/
>>  Run with ‘–help’ for additional options and output filtering
[!!] Successfully authenticated with no password – SECURITY RISK!

——– General Statistics ————————————————–
[–] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.51a-3ubuntu5.4
[OK] Operating on 32-bit architecture with less than 2GB RAM

——– Storage Engine Statistics ——————————————-
[–] Status: +Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[!!] InnoDB is enabled but isn’t being used
[OK] Total fragmented tables: 0

——– Performance Metrics ————————————————-
[–] Up for: 2751d 1h 54m 58s (972 q [0.000 qps], 12 conn, TX: 239K, RX: 38K)
[–] Reads / Writes: 100% / 0%
[–] Total buffers: 58.0M global + 2.6M per thread (100 max threads)
[OK] Maximum possible memory usage: 320.5M (63% of installed RAM)
[OK] Slow queries: 0% (0/972)
[OK] Highest usage of available connections: 2% (2/100)
[!!] Cannot calculate MyISAM index size – re-run script as root user
[!!] Query cache efficiency: 0.0% (0 cached / 7 selects)
[OK] Query cache prunes per day: 0
[OK] Temporary tables created on disk: 0% (0 on disk / 33 total)
[OK] Thread cache hit rate: 83% (2 created / 12 connections)
[!!] Table cache hit rate: 7% (64 open / 905 opened)
[OK] Open file limit used: 12% (124/1K)
[OK] Table locks acquired immediately: 100% (906 immediate / 906 locks)

——– Recommendations —————————————————–
General recommendations:
Add skip-innodb to MySQL configuration to disable InnoDB
Enable the slow query log to troubleshoot bad queries
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_limit (> 1M, or use smaller result sets)
table_cache (> 64)

4. Nah, selanjutnya terserah kita, mau rubah settingan my.cnf sesuai dengan yang direkomendasikan (lihat bagian Recommendations), atau tidak, atau bisa juga mencari second, third ..  opinion dulu :D.