Tuning Mysql untuk meningkatkan kinerja database adalah usaha yang dilakukan untuk memperbaiki performance Mysql sebagai database yang digunakan dalam server sobat. Jika dalam server tersebut hanya terdapat sebuah web server yang menjalankan satu website, mungkin peningkatan performance kinerja Mysql tidak begitu diperlukan, mengingat jumlah database maupun tabel yang ada biasanya masih bisa di atasi oleh konfigurasi bawaan software distro.
Berikut merupakan contoh konfigurasi yang telah di tingkatkan dalam file /etc/my.cnf (tuning my.cnf) pada sistem operasi Fedora / CentOS Linux:
[mysql] # CLIENT # port = 3306 socket = /var/lib/mysql/mysql.sock [mysqld] # GENERAL # user = mysql default-storage-engine = InnoDB # socket = /var/lib/mysql/mysql.sock pid-file = /var/lib/mysql/mysql.pid # MyISAM # key-buffer-size = 32M myisam-recover = FORCE,BACKUP # SAFETY # max-allowed-packet = 16M max-connect-errors = 1000000 sql-mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY innodb = FORCE # DATA STORAGE # datadir = /var/lib/mysql/ # BINARY LOGGING # log-bin = /var/lib/mysql/mysql-bin expire-logs-days = 14 sync-binlog = 1 # CACHES AND LIMITS # tmp-table-size = 32M max-heap-table-size = 32M query-cache-type = 0 query-cache-size = 0 max-connections = 200 thread-cache-size = 50 open-files-limit = 16384 table-definition-cache = 1024 #bisa-dinaekkan-jadi-4096 table-open-cache = 2048 #tergantung-fisik-memory # INNODB # innodb-flush-method = O_DIRECT innodb-log-files-in-group = 2 innodb-log-file-size = 64M innodb-flush-log-at-trx-commit = 2 innodb-file-per-table = 1 innodb-buffer-pool-size = 512M #1/2-memory-fisik # LOGGING # log-error = /var/lib/mysql/mysql-error.log log-queries-not-using-indexes = 1 slow-query-log = 1 slow-query-log-file = /var/lib/mysql/mysql-slow.log
Ganti file /etc/my.cnf dalam Fedora atau CentOS, dengan konfigurasi diatas, kebetulan RAM yang ada pada server sebesar 2GB dan menjalankan lebih dari 5 buah website, keterangan yang ada dalam konfigurasi bisa sobat sesuaikan dengan kemampuan server yang dimiliki.
Jika sobat menggunakan Ubuntu Linux, konfigurasi bawaan yang ada sudah cukup bagus, tetapi tuning Mysql pada Ubuntu Linux juga bisa dilakukan dengan cara yang sama seperti diatas, yaitu dengan melakukan peningkatan jumlah yang ada dalam konfigurasi untuk setiap baris konfigurasi.
Dibawah ini adalah beberapa tulisan di internet yang bisa sobat gunakan sebagai referensi perubahan konfigurasi untuk meningkatan kinerja Mysql (Tuning Mysql):
- http://www.fromdual.com/mysql-configuration-file-sample
- https://www.tecmint.com/mysql-mariadb-performance-tuning-and-optimization/
Sedangkan jika sobat telah menguasai tentang bagaimana cara melakukan Tuning Mysql, lakukan cek performance Mysql dengan menggunakan MysqlTuner, dan sesuaikan konfigurasi dengan hasil yang dikeluarkan dari hasil cek tersebut, cara penggunaan dan file yang digunakan dapat di lihat pada link berikut:
Semua link diatas akan membuka windows atau tab baru pada browser.Selamat Mencoba dan Terima kasih.
Terimakasih banyak tutorialnya, sangat bermanfaat :)
ReplyDelete