PHP – MYSQL Too many connections [1040] Hatası (Çok fazla bağlantı var hatası)

thumbnail

Merhabalar.

Bu aralar hata konularına çok fazla değinmeye başladım. PHP kullananların sıkça başına gelen farklı bir hata hakkında da bir şeyler yazmak istedim doğrusu. Şimdi bilenler bana sitem edebilir çünkü bahsi geçen hata aslında temelinde PHP hatası değil veritabanı hatasıdır. Çok tereddüt ettim nereye nasıl yazmalıyım diye ama bu hata genelde PHP kullananlarda olduğu için sonunda buraya yazdım 🙂

Şimdi PHP ile bir yazılım yazmışsınızdır bir gün bir bakarsınız sistem çok yavaş çalışıyor ve bir süre sonra karşınıza şöyle bir hata gelir.

Bir Hata Oluştu: SQLSTATE[08004] [1040] Too many connections

Bu hata yazıdan da anlaşılacağı üzere veritabanına çok fazla bağlantı gerçekleştiği için oluşuyor. Bunun bir çok sebebi olabilir. Sunucu kaynaklı problemde yaşıyor olabilirsiniz, yazılım kaynaklı problemde.

Peki bu hatayı nasıl tespit edeceğiz? 
SQLSTATE[08004][1040] Too many connections hatası nasıl düzeltilir?

Öncelikle sunucu firmanız ile bağlantı kurun ve hatayı kendilerine iletin. Eğer paylaşımlı sunucu kullanıyorsanız veritabanı bağlantı limitleriniz sınırlıdır. Bu limiti aştığınızda bu hatayı alırsınız. Sunucu firmanızdan bağlantı limitlerinizi arttırmasını isteyin. Bunu her firma yapmaz. Çünkü paylaşımlı sunucu içerisinde sizin limitlerinizi arttırırsa diğer müşteriler performans kaybı yaşayabilir o yüzden bu hamleyi her firma gerçekleştirmez. Peki biz bunun için ne yapabiliriz?

PHP ile yazılmış kodlarımızı kontrol etmemiz gerekiyor. Kod yapısında gereksiz sorgulardan kaçınmalısınız ve her sorgu sonunda veritabanı bağlantısını kapatmayı deneyin.

Genelde amatör kodlama tarzından kaynaklı olarak veritabanına gereksiz bağlantılar oluşur ve bu bağlantılar kapatılmadığı sürece tarayıcıda açık kalır o yüzden bu hatayı alırsınız. Yazılımınızı gözden geçirin. Bir sorguyla yapabileceğiniz işlemi birden fazla sorguya dökmeyin.

Eğer sisteminiz oldukça büyüdüyse artık paylaşımlı sunucudan çıkmanızın vakti gelmiş demektir. Bir sunucu kiralayıp sisteminizi oraya taşıyabilirsiniz. Bu sayede hızlı ve güvenli bir sistem kullanıyor olursunuz.

Sorunuz olursa yazabilirsiniz…

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back To Top