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
- 4613 reads
Main menu
Diklat Dasar Perekrutan Anggota Muda KOMPENI...
Organisasi merupakan sekelompok manusia yang saling bekerja sama dalam suatu proses untuk mencapai tujuan bersama. Untuk membuat suatu organisasi menjadi berkembang memerlukan proses demi proses...
Management Motivation Training (MMT)
Kepemimpinan atau leadership adalah kemampuan seseorang untuk mempengaruhi orang-orang lain agar bekerjasama sesuai dengan rencana demi tercapainya tujuan yang telah ditetapkan...
Diklat Lapangan PLAKAT XXIII Prabaswara 2023
Setelah terselenggarakannya kegiatan DIKLAT FORUM pada senin-kamis 27-30 November lalu, yang menjadi dasar bagi para peserta untuk mendapatkan pematerian dan teknik kepecintaalaman, dan dengan hal...
STIKI Basketball League
Basket sampai sekarang menjadi olahraga yang sangat digemari dikalangan siswa-siswi SMA / SMK. Kegiatan ini bukan hanya sebagai mengisi hiburan , tetapi juga menjadi salah satu wadah penting...