Ada beberapa opsi konfigurasi yang harus Anda pikirkan sebelum mulai.
Selama Anda tidak menggunakan myisam sama sekali, Anda dapat dengan aman mengalokasikan hampir semua (cukup menjaga agar OS Anda berjalan dengan nyaman, dan cukup untuk max_connections
) memori Anda innodb_buffer_pool
. Hal yang menyenangkan tentang InnoDB adalah menangani hampir semua hal-hal memori dengan sendirinya, tidak perlu memisahkan hal-hal seperti cache kueri, buffer kunci dll.
Saya akan merekomendasikan agar Anda mengaktifkan innodb_file_per_table
, hanya karena itu membuatnya jauh lebih mudah untuk hanya menelusuri sistem file dan melihat berapa banyak ruang tabel dan database yang berbeda butuhkan. Anda masih memerlukan file ibdata umum untuk penggunaan internal InnoDB, tetapi Anda bisa mendefinisikannya sebagai 10M:autoextend
. Tidak perlu mendefinisikan banyak file data innodb berbeda dengan ukuran yang dialokasikan sebelumnya.
innodb_log_file_size
dan innodb_log_buffer_size
digabungkan harus lebih besar dari sepuluh kali objek gumpalan terbesar Anda jika Anda memiliki banyak yang besar. Jika Anda tidak (dan Anda seharusnya tidak [ 1 , 2 ]), benar-benar tidak perlu repot untuk melakukannya. Periksa Blog Kinerja MySQL untuk laporan terperinci tentang cara menghitung.
Dan ketika Anda sudah menjalankan MySQL untuk sementara waktu, periksa pengaturan Anda dengan MySQLTuner atau MySQL Tuning Primer .
Untuk laporan yang lebih detail, coba mysqlreport , dan untuk pemantauan langsung, periksa mytop .
Satu "kejutan" bagi saya adalah bahwa innodb menggunakan, secara default, satu file untuk semua database / tabel. Berbeda dengan tabel MyISAM yang menggunakan direktori per database dan file per tabel / tableindex.
Itu mungkin penting jika Anda terbiasa mengecilkan file fisik berdasarkan tabel (mengoptimalkan tabel xxx)
sumber