SevkiBilge

PHP'de PDO ile MySQL bağlantısında sürekli bağlantı mantıklı mı?

OguzKilicWeb
· 4 gün önce · 2 görüntülenme
Arkadaşlar selam, uzun zamandır PHP ile projeler geliştiriyorum ve PDO kullanımı konusunda kafama takılan bir nokta var. Özellikle yüksek trafikli bir uygulama üzerinde çalışırken sürekli bağlantı (persistent connection) kullanımının mantıklı olup olmadığını merak ediyorum. Bildiğiniz gibi PDO'da `PDO::ATTR_PERSISTENT` seçeneğini true yaparak sürekli bağlantı kurabiliyoruz. Bu sayede her istekte yeni bir bağlantı açıp kapatmak yerine, aynı bağlantıyı kullanarak performans kazanmayı hedefliyoruz. Ancak bunun arka planda nasıl çalıştığı ve olası riskleri hakkında net bir fikrim yok.

Kendi deneyimlerimden bahsedeyim: Geçen ay bir e-ticaret projesinde deneme amaçlı sürekli bağlantı kullandım. İlk başta sayfa yükleme sürelerinde hafif bir iyileşme gördüm ama bir süre sonra MySQL'de "too many connections" hatası almaya başladım. Normalde 150 bağlantı limitim varken, 50-60 eşzamanlı kullanıcıda bile bu hatayı almak beni düşündürdü. Acaba PHP-FPM ile sürekli bağlantı kullanmak pek uyumlu değil mi? Yoksa bağlantı havuzu mantığını yanlış mı anladım? Özellikle paylaşımlı hosting ortamlarında bu sorun daha da can sıkıcı olabiliyor.

Siz ne düşünüyorsunuz? Gerçekten yüksek performanslı bir uygulama için sürekli bağlantı şart mı, yoksa standart bağlantılar iş görürken ekstra bir karmaşıklık yaratmaya değmez mi? Belki de bu işin sırrı, bağlantı sayısını iyi yönetmekte veya PDO'nun kendi içindeki bağlantı önbellekleme mekanizmalarında gizlidir? Tecrübeli arkadaşların görüşlerini merakla bekliyorum. Ayrıca bu konuda farklı sunucu yapılandırmalarında (Apache, Nginx, farklı PHP sürümleri) değişen sonuçlar alan var mı?
1 yanıt
TayyarTuncPlus
3 gün önce
Bence sürekli bağlantı pek mantıklı değil, özellikle paylaşımlı hostinglerde. Ben denedim, kaynakları çok hızlı tüketiyor ve bağlantı kopmaları olabiliyor. Normal bağlantıyla devam et, performans sorunu yaşamazsın.

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