Optimasi MySQL
MySQL adalah sebuah database server yang banyak digunakan untuk mendampingi program-program web (php). Agar database server ini dapat digunakan secara optimal maka berikut ini adalah beberapa hasil temuan dari googling.
Memilih bentuk engine
MySQL memiliki beberapa bentuk engine yang dapat digunakan. Tetapi yang paling sering dipakai adalah innoDB dan myISAM. Apabila memang fasilitas innoDB tidak digunakan maka lebih baik gunakan engine myISAM pada table yang dibuat.
Melakukan Optimasi table
Setelah beberapa kali digunakan, dan terdapat perubahan data yang cukup banyak, maka mySQL perlu dioptimasi. Jalankan perintah : OPTIMIZE TABLE foo Perintah diatas digunakan untuk optimasi sebuah tabel dengan nama foo, atau dengan melakukan perintah : mysqlcheck -o "all-databases perintah diatas digunakan untuk optimasi seluruh tabel.
Mengatur setting dari mySQL
Terdapat beberapa setting mySQL yang perlu diatur, tetapi semua itu tergantung dari keperluan dan besaran resource yang dimiliki
max_allowed_packet = 16M
angka 16M ditentukan sesuai kebutuhan, saya menuliskan itu sesuai hasil pencarian diweb site. Selanjutnya menentukan besaran âinnodb_buffer_pool_sizeâ :
untuk menentukan ini saya menggunakan beberapa script untuk menghitung besar âinnodb_buffer_pool_sizeâ (http://dba.stackexchange.com/questions/27328/how-large-should-be-mysql-i...).
Berikut ini perintah untuk melihat isi dari variable yang dibutuhkan :
SHOW VARIABLES LIKE 'innodb_buffer_pool_size' SHOW VARIABLES LIKE 'innodb_io_capacity' SHOW VARIABLES LIKE 'innodb_read_io_threads' SHOW VARIABLES LIKE 'innodb_thread_concurrency' SHOW VARIABLES LIKE 'innodb_write_io_threads'
sebaiknya variable tersebut diisi sebagai berikut :
innodb_io_capacity =2000 innodb_read_io_threads =64 innodb_thread_concurrency =0 innodb_write_io_threads =64
Untuk âinnodb_buffer_pool_sizeâ :
pertama dilakukan pengecekan RIBS dengan script berikut
SELECT CEILING(Total_InnoDB_Bytes*1.6/POWER(1024,3)) RIBPS FROM (SELECT SUM(data_length+index_length) Total_InnoDB_Bytes FROM information_schema.tables WHERE engine=âInnoDBâ) A;
atau dapat juga menggunakan script berikut :
SELECT CONCAT(CEILING(RIBPS/POWER(1024,pw)),SUBSTR(' KMGT',pw+1,1)) Recommended_InnoDB_Buffer_Pool_Size FROM (SELECT RIBPS,FLOOR(LOG(RIBPS)/LOG(1024)) pw FROM(SELECT SUM(data_length+index_length)*1.1*growth RIBPS FROM information_schema.tables AAA,(SELECT1.25 growth) BBB WHERE ENGINE='InnoDB') AA ) A;
Jika isi RIBS adalah 3 maka innodb_buffer_pool_size dapat diisi dengan 3, setelah dilakukan restart database server mysql, maka dapat dilakukan pengecekan seberapa besar penggunaan buffer pool dengan menggunakan script :
SELECT (PagesData*PageSize)/POWER(1024,3) DataGB FROM (SELECT variable_value PagesData FROM information_schema.global_status WHERE variable_name=âInnodb_buffer_pool_pages_dataâ) A, (SELECT variable_value PageSize FROM information_schema.global_status WHERE variable_name=âInnodb_page_sizeâ) B;
- sugeng's blog
- Log in to post comments
- 4956 reads
Main menu
PLAKAT LAPANGAN XXIV “MELLIVORA CAPENSIS”
Setelah terselenggarakannya kegiatan PLAKAT FORUM pada Senin s.d. Kamis, 11 s.d. 14 November lalu, yang menjadi dasar bagi para peserta untuk mendapatkan pematerian dan teknik kepecintaalaman, dan...
STIKI HOOPS CHALLENGE (SHC)
Olahraga merupakan suatu kegiatan jasmani yang dilakukan dengan maksud untuk memelihara kesehatan dan memperkuat otot-otot tubuh. Kegiatan ini dalam perkembangannya dapat dilakukan sebagai...
Event Musik "Prove The Power"
KOMPENI adalah sebuah Unit Kegiatan Mahasiswa (UKM) yang bergerak di bidang seni, dengan fokus utama pada fotografi, desain, dan musik. Saat ini kompeni telah melakukan kegiatan untuk meningkatkan...