Veri tabanı olarak mysql kullanıyorsak mysql ayar dosyasında yaptığımız değişiklikler büyük önem kazanıyor. Bunun için performans için yaptığımız her değişiklğin neye etki edeceğini bilerek ve hesaplayarak bu değişikliği yapmamız gerekiyor. Mysql ayar dosyası genel olarak, “/etc/my.cnf” dizinindedir.
Mysql Ayar Dosyası(my.cnf)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# /etc/my.cnf # omeroner tarafinda hazirlandi. 2015-04-19 # https://dev.mysql.com/doc/refman/5.6/en/server-parameters.html # http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html ## <innodb-log-file-size> Hesaplama; ## mysql> pager grep sequence ## PAGER set to 'grep sequence' ## mysql> show engine innodb status\G select sleep(60); show engine innodb status\G ## Log sequence number 1075061880067 ## Log sequence number 1075063813751 ## SELECT (1075063813751 - 1075061880067) / 1024 / 1024 AS MB_per_min; ## MB_per_min ## ---------- ## 1.84410477 ## 1 saatlik log transaction icin; SELECT (1.84410477 * 60) AS total_trs_per_hour; ## total_trs_per_hour ## ------------------ ## 110.64628620 ## innodb_log_files_in_group 2 oldugu icin 64MB*2=128MB olarak set edilir. [client] port = 3306 # TCP/IP baglantilari icin dinlenilecek port numarasi Unix ve turevi sistemlerde, port numarasi 1024 veya daha yuksek olmalidir. socket = /var/lib/mysql/run/mysql.sock # Yerel baglantilari dinlerken kullanilan Unix socket dosyasidir. user = root password = ********** [mysqld] # General user = mysql # Mysqld'yi calistiracak kullanici hesabi. port = 3306 # TCP/IP baglantilari icin dinlenilecek port numarasi Unix ve turevi sistemlerde, port numarasi 1024 veya daha yuksek olmalidir. socket = /var/lib/mysql/run/mysql.sock # Yerel baglantilari dinlerken kullanilan Unix socket dosyasidir. pid-file = /var/lib/mysql/run/mysqld.pid # Process Id'nin tutuldugu dosyasinin adi ve dizini. default-storage-engine = InnoDB # Tablolar icin varsayilan depolama motoru. character-set-server = latin5 # Database ve Tablolar icin varsayilan character-set. server-id = 14199 # Sunucu ID'si # Safety max_allowed_packet = 16MB # Maksimum paket boyutu. old_passwords = 1 # Password hashing method. Varsayilan deger 0'dir. symbolic-links = 0 # Tablo ve DB icin Sembolik baglantileri devre disi birakilir. explicit_defaults_for_timestamp # Onerilmeyen bir parametre ilerki surumlerde kaldirilacak. skip-name-resolve # Istemci baglantilarini kontrol ederken ana bilgisayar adlarini cozumlemez. # Data & Tmp datadir = /var/lib/mysql/data/ # Mysql data dizini. tmpdir = /var/lib/mysql/tmp/ # Gecici dosyalarin olusturuldugu dizin. # Connection and Thread variables max_connections = 300 # < 1000 iyi bir deger back_log = 110 # TCP/IP baglanti kuyrugunun boyutudur. 50 + (max_connections / 5) thread_cache_size = 12 # 8 + (max_connections / 100) # Query Cache query_cache_type = 1 # Query Cache'i aktif ediyoruz. Varsayilan deger 0'dir. query_cache_size = 256MB # Query Cache icin kullanilacak bellek alani.. query_cache_limit = 8MB # Session & Memory variables sort_buffer_size = 32MB # Order(siralama) yapmak icin kullanilan tampon boyutu. Varasayilan deger 262144'dir. tmp_table_size = 16MB # Gecici tablolarin maksimum boyutu. Varsayilan deger 16777216'dir. max_heap_table_size = 16MB # Bellekte olusan en buyuk tablolarin boyutu max_heap_table_size sistem degisken ile sinirlidir. read_buffer_size = 131072 # Varsayilan deger 131072'dir. read_rnd_buffer_size = 262144 # Varsayilan deger 262144'dir. # Other buffers and caches table_definition_cache = 656 # 400+ (table_open_cache / 2) table_open_cache = 1024 # Varsayilan deger 2000'dir. join_buffer_size = 256K # MySQL error log log_warnings = 1 # Log Level. (0 = disabled, 1 = enabled, 2 = enabled + log aborted connections) log-error = /var/lib/mysql/logs/error.log # Log dosyasinin bulundugu dizin. # General Query Log general_log = 0 # Varsayilan deger 0'dir. general_log_file = /var/lib/mysql/logs/general.log # General log dosyasinin bulundugu dizin. # Slow Query Log log-queries-not-using-indexes = 0 # Indeks kullanmayan sorgularin tespiti icin kullanilir. Varsayilan deger 0'dir. 1 yaparsak slow.log dosyasina yazar. slow_query_log = 1 # Yavas sorgularin tespiti icin aktif ediyoruz. Varsayilan deger 0'dir. long_query_time = 3 # 3 sn'den cok suren sorgulari slow query kabul ediyoruz. slow-query-log-file = /var/lib/mysql/logs/slow.log # Slow query'lerin yazilacagi dosya. # InnoDB variables innodb_data_home_dir = /var/lib/mysql/data/ # InnoDB datalari icin varsayilan dizin. innodb_log_files_in_group = 2 # InnoDB log dosyalarinin kac gruba ayrilacagi.(ib_logfile0,ib_logfile1 gibi) innodb_log_group_home_dir = /var/lib/mysql/data/ # ib_logfile0 ve ib_logfile1 log dosyalarinin bulunacagi dizin. innodb-log-file-size = 512M # Gunluk log dosyalarin toplam boyutu ( innodb_log_file_size * innodb_log_files_in_group ) 128MB kadar olabilir. innodb_log_buffer_size = 8M # InnodDB log dosyasina yazmadan once bellekte kullanacagi tampon boyutu.Varsayilan deger 8MB'dir. innodb-buffer-pool-size = 60GB # Makinenin fiziksel bellek boyutunun %80'i kadar. InnoDB Performans icin en onemli parametredir. innodb-buffer-pool-instances = 4 # Eger innodb-buffer-pool-size 1GB uzerinde set edildiyse etkili olur.InnoDB tampon havuzunu 4' bolduk. innodb-read-io-threads = 12 # InnoDb okuma islemleri icin I/O iS parcacigi sayisi. Varsayilan deger 4'tur. innodb-write-io-threads = 12 # InnoDb yazma islemleri icin I/O iS parcacigi sayisi. Varsayilan deger 4'tur. innodb-file-per-table = 1 # MySQL 5.6.6 ile Varasayilanda aktifdir. innodb_additional_mem_pool_size = 8MB # Varsayilan deger 8MB'dir. innodb_file_per_table = 1 # Her tabloyu farkli *.ibd dosya olarak olusturmak icin. innodb_flush_method = O_DIRECT # InnoDB veri dosyalarini flush'lamak icin kullanilan yontem.I/O verimini etkiler. # Replication log_bin = /var/lib/mysql/data/mysql-bin # (Mater Server) Replikasyon isleminin surduruldugu dosya.Binlog aktif (master host ise) expire_logs_days = 7 # (Mater Server) Eski binlog'lari sil. 7 gunluk log tutuluyor. binlog_format = MIXED binlog-ignore-db = mysql binlog-ignore-db = information_schema binlog-ignore-db = performance_schema binlog-ignore-db = backup binlog-ignore-db = test master_info_repository = TABLE relay_log_info_repository = TABLE # Myisam myisam_sort_buffer_size = 64MB key_buffer_size = 3GB # key_buffer_size dogrudan indexi arabellege alma hizini etkiler. [mysqldump] max_allowed_packet = 16MB # Maksimum paket boyutu. [mysqld_safe] log-error = /var/lib/mysql/logs/error.log pid-file = /var/lib/mysql/run/mysqld.pid socket = /var/lib/mysql/run/mysql.sock |