Merhaba
Veri Tabanı sunucusu 1 gün sonra çok fazla işlemci kullanmaya başlıyor. Kullanıcılar işlemleri yaparken 5-10 sn takılı kalıyorlar. Fakat makineyi reboot yaptığımızda herşey normale dönüyor.

IBM x226 2 x Xeon 3.0Ghz 2mb cache 800mhz fsb (ht ile 4 çekirdek toplam) + 6GB Ram DDR2 400 + 74GB SCSI
2Mbit Frame Relay Hat
MySQL Servisine ip ile bağlantı yapılıyor.
Sunucu üzerinde sadece mysql servisi çalışıyor.

Tabloların %90'ı innodb yapısı üzerine kurulu
370mb civarı innodb index büyüklüğü
250mb civarı innodb veri büyüklüğü
toplam 320mb data
toplam 430mb index boyutu

150 civarı şube bağlantısı mevcut.
Yerel ile birlikte günde en yüksek mysql bağlantı sayısı 160 civarı oluyor.


Uygulama gereği her bağlantı 5sn'de bir select sorgusu yapıyor.
Bunun dışında kullanıcılar insert, update ve delete işlemleri gerçekleştiriyor.

/show status;
show variables;

/değerlerimde şu şekilde;
table_cache 512
Open_files 168
Open_tables 217
Key_reads 9323
Key_read_request 13127722
Key_writes 84812
Key_write_request 195527
Key_buffer_size 268435456
Threads_cached  12
Threads_connected  112
Threads_created    124
Threads_running    61
Created_tmp_disk_tables  0
Created_tmp_files        21
Created_tmp_tables       11

InnoDB ayarlarını gerekliyse daha sonra yollayabilirim.

my.cnf içeriği
[client]
port                   = 3306
socket               = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket        = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket            = /var/run/mysqld/mysqld.sock
port            = 3306
basedir        = /usr
datadir        = /var/lib/mysql
interactive_timeout = 300 #sleep ile uyuyan mysql sorgularini bu sure(sn) sonunda bitirir. wait_timeout ile iliskili
#innodb_data_file_path        = ibdata1:256M:autoextend
innodb_additional_mem_pool_size    = 96M
innodb_thread_concurrency = 4 #islemcilere verilen is parcaciklari. cpux2 olark hesaplanir. thread_concurrency baglantili olabilir. innodb_buffer_pool_size = 3192M #innodb genel bellek havuzu. rame arti 1024 olarak tesir eder.
innodb_flush_method            = O_DIRECT
innodb_log_file_size            = 256M
innodb_log_buffer_size        = 8M
innodb_flush_log_at_trx_commit = 1 #log dosyasina guvenli yazim yapmak icin. innodb_lock_wait_timeout = 200 #Saniye cinsinden.wait_timeout ile baglantili olabilir.
join_buffer_size    = 1M
language        = /usr/share/mysql/english
log            = /var/log/mysql/mysql.log         #mysql islem raporlari
log_slow_queries    = /var/log/mysql/mysql-slow.log     #yavas sorgular icin
long_query_time = 10 #yavas sorgular icin 10.seviye ayarlanir. log-queries-not-using-indexes #yavas sorgular icin indx kullanmayanlarin belirlenmesi icin kullanilir. log_bin = /var/log/mysql/mysql-bin.log #replikasyon islemleri icin binary_log kullanilir.
# bind-address    = 127.0.0.1
key_buffer        = 256M                    #myisam index dosyalari icindir.
max_allowed_packet    = 16M
myisam-recover    = BACKUP
max_connections         = 500                    #baglanan kullanici sayisi.
max_heap_table_size = 128M #veriler disk uzerinde degilde ramde onbelleklensin. tmp_table_size ile alakali open_files_limit = 2501 #testlerdeki acik dosya limit x2-x3 arasi olmali. normalde 206 cikti bizde. fakat bunu otomatik arttirabiliyor.
record_buffer        = 1M
read_buffer_size    = 1M
read_rnd_buffer_size    = 1M
skip-bdb
skip-external-locking
sort_buffer_size = 3M #siralama islemleri icin ayrilan bellek table_cache = 512 #acilacak tablo sayisi. her sayi 1 mb temsil eder. Configured Max Memory Limit ve Configured Max Per-thread Buffers yukseltir. thread_concurrency = 4 #islemci sayisi x2 olarak gosteriliyor. ayni anda yapacagi islemleri gosterir gibi bir bilgi buldum.
tmpdir            = /tmp
thread_stack        = 128K
thread_cache_size = 300 #mysql baglantilar icin thread (iplik) olusturur. eger show status like da thread_created surekli artarsa burayi yukselt. su anda 126 civari. tmp_table_size = 128M #veriler disk uzerinde degilde ramde onbelleklensin. max_heap_table_size ile alakali query_cache_limit = 8M #sorgular icin ayrilan bellek miktari query_cache_size = 16M #sorgular icin ayrilan bellek miktari show status ta qcache_free_memory ye gore ayarlama cekilebilir.
expire_logs_days    = 10
max_binlog_size      = 100M
#binlog_do_db        = include_database_name
#binlog_ignore_db    = include_database_name
# chroot = /var/lib/mysql/
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
wait_timeout = 200 #sleep ile uyuyan mysql sorgularini bu sure(sn) sonunda bitirir. interactive_timeout ile iliskili

# ----------------------------------------------------------------------------------------------------------------------------------
# BU 2 SATIR ARASI REPLIAKSYON ICIN
server-id = 1 #replikasyon gibi islemlerde ilk sunucu oldugunu gostermek icin kullanilir.
log_slave_updates
log_bin_index           = /var/log/mysql/log-bin.index
log_error               = /var/log/mysql/error.log
relay_log               = /var/log/mysql/relay.log
relay_log_info_file     = /var/log/mysql/relay-log.info
relay_log_index         = /var/log/mysql/relay-log.index
auto_increment_increment= 3
auto_increment_offset   = 1
# master_host           = 10.0.1.2
# master_user           = replication
# master_password       = xxxx
# replicate_do_db       = xxxx
binlog_do_db            = xxxx
# ------------------------------------------------------------------------------------------------------------------------------------

[mysqldump]
quick
quote-names
max_allowed_packet    = 16M

[mysql]
#no-auto-rehash    # faster start of mysql but no tab completition

[isamchk]
key_buffer        = 512M
join_buffer_size    = 1M
sort_buffer_size    = 3M
record_buffer        = 1M
read_buffer_size    = 1M
read_rnd_buffer_size    = 1M

# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1
!includedir /etc/mysql/conf.d/


_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]

Liste kurallarını http://liste.linux.org.tr/kurallar.php  bağlantısından 
okuyabilirsiniz;

Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen 
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1 
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu

Cevap