merhaba,

söylediğiniz sorunun bir çok sebebi olaibilir. problem oluştuğu zaman
bir "show full processlist" komutunun çıktısından sorgular nerde
takılıyor kontrol edebilirsiniz. ayrıca slow query time ı 3 ya da 5
saniyeye çekip yavaş çalışan sorguları tam olarak tespit edip. ona
göre önlem alma yoluna gidebilirsiniz. bir de genel log u açık tutmak
production sistemler için tavsiye edilen bir durum değil.

log            = /var/log/mysql/mysql.log         #mysql islem raporlari

satırını commentlemeniz eğer özel bir amacınız yoksa tavsiye edilir.

kolay gelsin.



2010/1/31 Bahattin ARICI <[email protected]>:
> 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
>
>



-- 
Serdar Güler
_______________________________________________
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