SevkiBilge

PDO ile MySQL bağlantısında sürekli timeout hatası alıyorum, çözüm nedir?

NeclaOzturkFan
· 2 gün önce · 0 görüntülenme
Arkadaşlar merhaba, uzun süredir PHP ile proje geliştiriyorum ama son zamanlarda PDO ile MySQL bağlantısında sürekli timeout hatası almaya başladım. Özellikle yoğun saatlerde veya uzun süreli sorgular çalıştırdığımda bağlantı kopuyor ve "SQLSTATE[HY000] [2002] Connection timed out" hatası alıyorum. Sunucu ayarlarını kontrol ettim, my.cnf dosyasında wait_timeout ve max_execution_time değerlerini artırdım ama sorun hala devam ediyor. Acaba PDO bağlantı ayarlarında mı bir yanlışlık yapıyorum?

Bağlantı kodum şu şekilde: new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'kullanici', 'sifre', [PDO::ATTR_TIMEOUT => 30, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); Burada timeout değerini 30 saniye yapmıştım ama hata almaya devam ediyorum. Bazı arkadaşlar PDO::ATTR_PERSISTENT kullanmamı önerdi, kalıcı bağlantı denedim ancak bu sefer de "Too many connections" hatası almaya başladım. Sizce hangi ayarları yapmalıyım? Yoksa sunucu tarafında mı bir sıkıntı var?

Bir de şu durum dikkatimi çekti: Bağlantıyı her sayfada yeniden kuruyorum belki de bu yüzden kaynak tükeniyordur. Acaba bir bağlantı havuzu mu oluşturmalıyım? Ya da MySQL tarafında max_connections değerini yükseltmek yeterli olur mu? Benzer sorunu yaşayan varsa nasıl çözdüğünü paylaşırsa çok sevinirim. Şimdiden teşekkürler.
0 yanıt

Henüz yanıt bulunmuyor. İlk yanıtlayan siz olun!

Yanıt yazmak için giriş yapın.