Php / mysql bağlantıları ile uzun bir konuda sizin yardımınıza sormak istiyorum.
Bizim 5 webserverların çıkan veritabanı Server bağlantıları: i komutu bir "SHOW PROCESSLIST" yürütmek her zaman bana yaklaşık 400 rölantide (Uyku Durumu) gösterir.
Bu bir çok sorun oldu asla (ve ben hızlı bir çözüm bulamadık) yakın zamana kadar trafik numaraları artmış ve o zamandan beri MySql hatta bu yüzden bu bağlantıların 350 + "uyku" durumunda, tekrar tekrar "birçok bağlantıları" Sorunları raporları . Ayrıca sunucu aynı sunucu bağlantısı uyku olmasa bile bir mysql bağlantı alınamıyor.
Bir apache server düzeltilmiş zaman tüm bu bağlantıları kaybolur.
PHP kodu normal "mysql" Modül, "mysqli" Modül, PEAR :: DB ve Zend Framework Db Adaptörü kullanan veritabanı bağlantıları oluşturmak için kullanılır. (Farklı projeler). Projelerin YOK kalıcı bağlantılarını kullanır.
Bağlantı limitini yükseltmek mümkündür ama şimdi 450 ve sadece 20-100 "gerçek" bağlantıları zaten bir anda olduğu için iyi bir çözüm gibi görünmüyor.
Benim soru:
Neden uyku durumunda pek çok bağlantı vardır ve nasıl ben bunu önleyebilirsiniz.
Belirsiz veya eksik bir şey olursa bana bildirin lütfen, Zaman ayırdığınız için teşekkür ederiz
- Güncelleme:
Bir anda çalışan Apache istekleri sayısı 50 eşzamanlı istekleri aşıyor asla, bu yüzden bir ekli PHPScript falan olmadan bağlantı veya apache açık noktasını tutan kapatma ile ilgili bir sorun var sanırım (?)
my.cnf durumunda yararlı olur:
innodb_buffer_pool_size = 1024M
max_allowed_packet = 5M
net_buffer_length = 8K
read_buffer_size = 2M
read_rnd_buffer_size = 8M
query_cache_size = 512M
myisam_sort_buffer_size = 128M
max_connections = 450
thread_cache = 50
key_buffer_size = 1280M
join_buffer_size = 16M
table_cache = 2048
sort_buffer_size = 64M
tmp_table_size = 512M
max_heap_table_size = 512M
thread_concurrency = 8
log-slow-queries = /daten/mysql-log/slow-log
long_query_time = 1
log_queries_not_using_indexes
innodb_additional_mem_pool_size = 64M
innodb_log_file_size = 64M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table