Son zamanlarda sanal makinelere dönüştürülen birkaç üretim sistemimiz var. Sık sık bir MySQL veritabanına erişen bir uygulamamız vardır ve her sorgu için bir bağlantı oluşturur, sorgular ve bu bağlantıyı keser.
Sorgulamak için uygun bir yol değil (biliyorum), ancak etrafta dolaşamadığımız kısıtlamaları var. Her neyse, sorun şudur: makine fiziksel bir ana makine iken, program iyi çalıştı. Sanal makineye dönüştürüldükten sonra, veritabanına kesintili bağlantı sorunları olduğunu fark ettik. Bir noktada, TIME_WAIT'de 24000+ soket bağlantısı vardı (fiziksel ana bilgisayarda en çok gördüğüm 17000'di - iyi değil, ama sorun yaratmıyordu).
Ben bu bağlantıların yeniden kullanılmasını istiyorum, böylece bu bağlantı sorunu görmüyorum, ve böylece:
Sorular:
Tcp_tw_reuse değerini 1 olarak ayarlamak uygun mudur? Bariz tehlikeler nelerdir? Asla yapmamam için bir sebep var mı ?
Ayrıca, sistemi (RHEL / CentOS) bu kadar çok bağlantının TIME_WAIT'e girmesini veya yeniden kullanılmasını önlemek için almanın başka bir yolu var mı?
Son olarak, tcp_tw_recycle'ı değiştirmek ne yapar ve bu bana yardımcı olur mu?
Şimdiden teşekkürler!