EC2'de aynı tür Mysql sunucusunu kullanıyorum. /Etc/mysql/my.cnf öğesine dokunmayın, ancak bunun yerine config dosyalarını /etc/mysql/conf.d/ dizinine koyun. Bu, değişikliklerinizi belirli motorlar için yönetmenize ve işlerin nasıl yapılandırıldığına dair ek ipuçları verdikten sonra yöneticilere vermenize olanak sağlar. . Ayrıca, yaptığınız değişiklikleri yedeklemenizi ve takip etmenizi kolaylaştırır.
/etc/mysql/conf.d/innodb_mysql.cnf
[mysqld]
# innodb settings
innodb_additional_mem_pool_size = 12M
innodb_buffer_pool_size = 2G
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_lock_wait_timeout = 180
innodb_log_buffer_size = 16M
innodb_open_files = 512
innodb_thread_concurrency = 0
Bu ayarların çoğu oldukça standart ve kesinlikle Percona'nın tavsiyelerine bakmalısınız . Sisteminizde 6G kadar yüksek olabilirsiniz, ancak küçükten başlardım. Ayrıca myisam tablolarında muhtemelen 4G'de dururdum. Innodb log dosya boyutlarına dokunmazdım, orada olması gereken çok az kazanç var. Log_buffer_size ve include_mem_pool'un arttırılması, ilk çarpma işleminden sonra çok az geri dönüşe sahiptir.
Ayrıca yukarıdaki ayarlar daha iyi performans içindir, işlem tutarlılığı için değildir. Yalnızca bir web uygulamasını çalıştırdığınızı varsayalım, yukarıdaki sorun yoktur, ancak bankacılık sistemi için uygun değildir.
/etc/mysql/conf.d/general_mysql.cnf
[mysqld]
# general settings
key_buffer = 384M
key_buffer, genel olarak Myisam ve Mysql için en kullanışlı olandır. Varsayılan değer, 8GB bir makinede çok küçük olan sadece 16M'dir. Yine iyi bir sıçrama ile başlar ve gelişim olup olmadığını görmek. Unutmayın tamponlarını myisam ve innodb tamponları o değil onlar sahip RAM sonra miktardan daha topluca küçük olması gerekir böylece paylaştı. Daha sonra sıralamaya bakıp tamponları okuyabilirsiniz.