CentOS/WHM MySQL optimizasyonu

CentOS/WHM MySQL optimizasyonu

Bu makalemiz sistem yöneticilerinin sıkça karşılaştığı problemlerden birisidir mySQL’in çok fazla kaynak tüketmesi ve bu çok can sıkıcı bir durumdur. Şimdi bu durumu ele alarak mySQL’in sunucunuzun yorucu gücü halinden çıkartmak için belli değişiklikler yapacağız.

Yapacağınız değişikler sunucunuzda geri dönülmez hatalara sebebiyet verebilir lütfen yaptığınız işlemlerden emin olarak işlem yapınız ve değişiklik yapacağınız dosyanın yedeğini almadan asla ama asla işlem yapmayınız.

SSH Root erişimi yaparak bağlantı yapınız.

/etc/my.cnf dosyasını bularak yedekleme yapınız.
/etc/my.cnf dosyanızı açarak düzenleme yapınız.
(SSH Servisini kullanmak istemezseniz WinSCP tarzı programlar sayesinde basit bir şekilde düzenleyebilirsiniz.)

Sunucunuz 1 çekirdek & 2GB ram MySQL 5.5 sürümüne sahip ise:

[mysqld]
    local-infile = 0
    max_connections = 250
    key_buffer = 64M
    myisam_sort_buffer_size = 64M
    join_buffer_size = 1M
    read_buffer_size = 1M
    sort_buffer_size = 2M
    max_heap_table_size = 16M
    table_cache = 5000
    thread_cache_size = 286
    interactive_timeout = 25
    wait_timeout = 7000
    connect_timeout = 15
    max_allowed_packet = 16M
    max_connect_errors = 10
    query_cache_limit = 2M
    query_cache_size = 32M
    query_cache_type = 1
    tmp_table_size = 16M
    open_files_limit=2528
[mysqld_safe]
[mysqldump]
    quick
    max_allowed_packet = 16M
[myisamchk]
    key_buffer = 64M
    sort_buffer = 64M
    read_buffer = 16M
    write_buffer = 16M
[mysqlhotcopy]
    interactive-timeout

Eğer sunucunuz 8 çekirdek & 12GB RAM (Hosting Sunucusu) MySQL 5.5 sürümüne sahip ise:

[mysqld]
local-infile=0
max_connections = 600
max_user_connections=1000
key_buffer_size = 512M
myisam_sort_buffer_size = 64M
read_buffer_size = 1M
table_open_cache = 5000
thread_cache_size = 384
wait_timeout = 20
connect_timeout = 10
tmp_table_size = 256M
max_heap_table_size = 128M
max_allowed_packet = 64M
net_buffer_length = 16384
max_connect_errors = 10
concurrent_insert = 2
read_rnd_buffer_size = 786432
bulk_insert_buffer_size = 8M
query_cache_limit = 5M
query_cache_size = 128M
query_cache_type = 1
query_prealloc_size = 262144
query_alloc_block_size = 65535
transaction_alloc_block_size = 8192
transaction_prealloc_size = 4096
max_write_lock_count = 8
slow_query_log
log-error
external-locking=FALSE
open_files_limit=50000
[mysqld_safe]
[mysqldump]
quick
max_allowed_packet = 16M
[isamchk]
key_buffer = 384M
sort_buffer = 384M
read_buffer = 256M
write_buffer = 256M
[myisamchk]
key_buffer = 384M
sort_buffer = 384M
read_buffer = 256M
write_buffer = 256M
#### Per connection configuration ####
sort_buffer_size = 1M
join_buffer_size = 1M
thread_stack = 192K

Sunucunuzu yoran MySQL’lerin taranması ve onarılması için alt kısımdaki kodu çalıştırarak MySQL Serverinize restart atıyoruz.

mysqlcheck --check --auto-repair --all-databases
mysqlcheck --optimize --all-databases
/etc/init.d/mysql restart

Sisteminizde MySQL eskisine nazaran daha az kaynak harcayacak ve daha stabil çalışacaktır.

Beğen  1
Yazar

2008, Yılından beri sistem ve yazılım teknolojileri ile ilgilenmekteyim. Ayrıntılı bilgi için hakkımda sayfamı inceleyebilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yapılan Yorumlar ( 3 )