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
- 4872 reads
Main menu
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...
“Pengenalan Kehidupan Kampus bagi Mahasiswa...
Dunia perkuliahan ibarat lautan luas yang penuh misteri. Di tepi pantai, mahasiswa baru bersiap menaiki kapal untuk memulai perjalanan mereka di lautan ilmu pengetahuan dan pengalaman. Lautan ini...
Dakwah Sosial 2024
Berbagi kebaikan adalah nilai yang mendasar dalam kehidupan manusia. Kegiatan ini
mencerminkan rasa empati, belas kasih, dan kepedulian terhadap sesama. Kemudian
didalamnya...
Brawnation 3x3 2024
UKM Byte adalah salah satu UKM dibawah bidang kerja Kemahasiswaan. Bidang kerja dari UKM ini adalah seputar olahraga basket.Â
Dalam rangka meraih prestasi bola basket...