InnoDB en ideal log file size belirleme.
InnoDB kullandığınız yerlerde en ideal log file size ayarlamak için aşağıdaki gibi bir test yapabilirsiniz.
Bu işlem mySQL’de InnoDB veritabanlarının 1 dakikada aşağı yukarı ne kadar log yazdığını görüyoruz.
Bu işlemi veritabanının en yoğun zamanlarında yapmanız önerilir.
Öncelikle istediğimiz veriyi alabilmemiz için pager komutu ile sequenceleri yakalıyoruz.
mysql> pager grep sequence PAGER set to 'grep sequence'
Sonra aşağıdaki gibi show innodb status çıktısını 1 dakika aralıklarla çalıştırıp başlangıç ve bitişte ne kadar log yazmış onu buluyoruz.
mysql> show engine innodb status\G select sleep(60); show engine innodb status\G Log sequence number 156081984562 1 row in set (0.00 sec) 1 row in set (59.99 sec) Log sequence number 156092992419 1 row in set (0.00 sec)
Daha sonra pager i tekrar sıfırlıyoruz.
mysql> pager Default pager wasn't set, using stdout.
Şimdi aradaki farklı Mb cinsinden buluyoruz.
mysql> select ( 156092992419 - 156081984562 ) / 1024 / 1024 as mb; +-------------+ | mb | +-------------+ | 10.49791050 | +-------------+ 1 row in set (0.00 sec)
Buradan anladığımız dakikada 10 mb veri yazılmış.
Saatlik bazda bakarsak 60*10=600MB.
innodb_log_file_size parametresini 600-700 Mb arası yapabiliriz.
Yukarıda yaptığımız testi mySQL 5.0 dan sonra SHOW GLOBAL STATUS komutu ile görebiliriz.
Bu komut çıktısındaki Innodb_os_log_written parametresinden de elde edebiliriz.
mysql> SHOW GLOBAL STATUS like '%Innodb_os_log_written%'; +-----------------------+-----------+ | Variable_name | Value | +-----------------------+-----------+ | Innodb_os_log_written | 632924672 | +-----------------------+-----------+ 1 row in set (0.00 sec)
Posted in Linux, MySQL on November 16th, 2012 by Kürşad DARA | | 0 Comments