Minggu, 26 Desember 2010

MySQL Tuning

Kadang dalam suatu aplikasi kita melakukan query select data pada
tabel yang sama dan dilakukan berulang-ulang, hal ini akan sangat
membebani MYSQL. Dalam MYSQL terdapat fitur yang bagus untuk
mempercepat query mysql dengan mengaktifkan query cache. Apabila fitur ini diaktifkan setiap query akan di cache di memory dan ini akan meningkatkan query performance.

Untuk mengaktifkan query cache, kita perlu menambahkan beberapa baris options di mysql configuration file (my.cnf) :

1 set query_cache_type = 1. (ada beberapa nilai yang mungkin : 0 (disable / off), 1 (enable / on) and 2 (on demand).

query-cache-type = 1

2 set query_cache_size = sesuai kemampuan RAM, yang direkomendasikan 20MB.

query-cache-size = 20M

Jika kita memeilih query-cache-type = 2 ( on demand ), anda perlu mengedit perintah query agar support cache, misal :

SELECT SQL_CACHE field1, field2 FROM table1 WHERE field3 = ‘yes’

Untuk mengecek apakah query cache sudah aktif, jalan lakukan perintah berikut :

SHOW VARIABLES LIKE ‘%query_cache%’;

Hasil nya :

+——————-+———+

| Variable_name | Value |

+——————-+———+

| have_query_cache | YES |

| query_cache_limit | 1048576 |

| query_cache_size | 20971520 |

| query_cache_type | ON |

+——————-+———+

4 rows in set (0.06 sec)

Untuk mengecek apakah query cache bisa berjalan dengan baik, caranya
lakukan 2 kali query yang sama dan cek variable berikut di MYSQL :

SHOW STATUS LIKE ‘%qcache%’;

+————————-+———-+

| Variable_name | Value |

+————————-+———-+

| Qcache_queries_in_cache | 1 |

| Qcache_inserts | 3 |

| Qcache_hits | 0 |

| Qcache_lowmem_prunes | 0 |

| Qcache_not_cached | 2 |

| Qcache_free_memory | 20947592 |

| Qcache_free_blocks | 1 |

| Qcache_total_blocks | 4 |

+————————-+———-+

Sumber :

1. Klik
2.Klik

Tidak ada komentar:

Posting Komentar