MySQL Sunucu Yüksek CPU ve Load Problemi

Sunucu değişimlerinde ya da yeniden yüklemelerde karşılaşacağınız büyük ihtimalli sorunlardan birisi. Bununla ilgili şunları kontrol etmenizi tavsiye ederim:

  • İlk başta bakacağınız şey Mysql sürümü olacaktır. Kurulum sırasında eski versiyon bir sql server kuruldu ise çok yüksek cpu kullanımına karşılık düşük bir memory kullanımı göreceksiniz sunucuda. Ama bir yandan da diskiniz swap yapmaya başlayacak ve bir süre sonra erişim sağlanamayacak. Veritabanı bağlantısı yapılamayacak. Bunun sebebi de yeni nesil çok çekirdekli işlemcili sunucuların yeni versiyon Mysql ile daha iyi çalışmasındandır. Hemen Mysql sürümünüzü yükseltmenizi tavsiye ederim. Eğer WHM kullanıyorsanız MySQL upgrade linkini sol taraftaki menüden kullanabilirsiniz. Daha fazla bilgi için http://dev.mysql.com/doc/refman/5.1/en/upgrading.html
  • Eğer sürümünüz yeni ama halen sorunlarınız devam ediyorsa /tmp klasörünüz dolmuş olabilir. Bunun için boyut büyütme yapmanız gerekmektedir. Şu şekilde yapabilirsiniz:
  • nano -w /scripts/securetmp ile dosyayı açıp editlemeniz gerekir. my $tmpdsksize diye bir değer var, bulup 512000 değerini değiştirin. Ne kadar yapmak istiyorsanız, örneğin 1gb için 1024000 yazın. Ardından tek tek şu komutları uygulayın:
    /bin/umount -l /tmp
    /bin/umount -l /var/tmp
    /bin/rm -fv /usr/tmpDSK
    /scripts/securetmp
    /scripts/restartsrv_mysql
    /scripts/restartsrv_httpd
  • Yoğun sql kullanan siteleri tespit etmeyi deneyebilirsiniz. ssh üzerinden top komutu ile ya da WHM üzerinden fazla kaynak kullanan siteleri tespit etmeniz gerekmektedir.
  • /tmp büyüttünüz ama yine çare bulamadınız. Bir de optimizasyon deneyin. Bunun için de /etc/my.cnf dosyasındaki parametrelerle oynamanızı tavsiye ederim. Tabi eğer bu işlerden pek anlamıyorsanız çeşitli programlar var. Onları deneyebilirsiniz. Örneğinmysql tuning primer scriptini deneyebilirsiniz.
  • Her şeyi  yaptınız ama çare bulamadıysanız daha güçlü bir sunucu kiralamanın zamanı gelmiş demektir :)