waiting for table level lock hatası - veritabanı uzmanları
2
●54
- 21-07-2023, 11:17:29merhaba, websitemde son günlerde mysql cpu yüklenmesinden dolayı yavaşlama çökme yaşanıyordu. mysql optimizasyonu yaptırıldı, daha güçlü sunucuya geçildi ama olumlu bir sonuç alamadık. mysql database incelemesi yaptık ve bir tablo için ''waiting for table level lock'' hatası verip sorguyu yürütemeyip sorguları biriktirdiği için böyle bir durum olduğunu anladık. websitesinde çökme olduğunda bu tabloyu innodbye alıp tekrar myisama alıp mysql restart atınca yavaşlık çökme gidiyor site olması gerektiği gibi hızlı çalışıyor ama yeni bir içerik girdiğimizde bu sorgular tekrar çalıştığında yine sorguyu gerçekleştiremeyip birikiyor ve yine mysql cpu artıyor ve çökme başlıyor. bu veritabanını kalıcı olarak düzeltecek biri var mı
- 29-07-2023, 20:05:36myisam da "table level lock" vardır. yani select işlemi dışında tablonun tamamını kilitler, örneğin selectten önce devam eden bir insert varsa insert işlem ve işlemlerinin bitmesini bekler.
innodb de "row level lock" vardır.myisam ile hemen hemen benzer şekilde kilitleme yapar fakat sadece satır düzeyinde kilitleme yapar, tablonun tamamını kilitlemez.
bu sebeplerden dolayı innodb ye geçmek table lockları ortadan kaldırır.
tablo boyutlarınız büyükse myisam da iken işlemci vs yükseltmek pek birşey değiştirmez.
ayrıca mysql versiyonunuz 8 den düşükse de işlemci vs yükseltmeniz size performans olarak çok fazla geri dönüş sağlamaz.