Yavaş MySql Sunucu Performansı - Ne ve Nasıl Kontrol Edilir?


10

başlangıç: yasal uyarı

MySql Server DBA değilim; Çoğunlukla MSSQL biliyorum - bu yüzden yardımınıza ihtiyacım var.

sonu: reddi

MySql sunucu motorunun neden kötü performans gösterdiğini kontrol etmem istendi - veritabanlarını görmedim veya tutmadım ve nereden başlayacağımı bilmek istiyorum.

Nereden başlamalıyım?

MySql'e erişimi olanlara hangi soruları sormalıyım - phpmyadmin veya başka bir araç kullanıp kullanmadıklarını bile bilmiyorum.

esasen:

  • Hangi öğeleri sormalıyım ve verdikleri her parçaya nasıl cevap verebilirim?

Sorun veritabanının performansındayken sorulması gereken temel öğeler nelerdir?

MSSQL bir sp_who2şey engelleme olup olmadığını görmek için mevcut bağlantıları kontrol edebilirsiniz , mysql muadili nedir? * Her öğe için birçok sonuç türü olabileceğinden spesifik olmak zorunda değildir, ancak kullanıcıları etkilediği için topun yuvarlanmasına yardımcı olmak ister - görünüşe göre bir dba yerleşik olmadan mysql motorunu kurdular.


Her zamanki kaynak kaynaklarını kontrol ettiniz mi - CPU dolu, RAM dolu / kullanılmıyor, IO aşırı yükleme? 101 şey bir sql sunucusunda başlar?
TomTom

Bir şansım olmadı - Ben sadece bir kez ben her şey hareket ediyor böylece gelip hazırlıklı olmak istiyorum - yerinde insanlar zaten kontrol ve yüksek özellikleri (şirket splurged) hem app ve db sunucuları ile mümkündür donanım sorun değilse ne olduğuna odaklanmak istiyorum
Yasker Yasker

Esperience dışında - oradan başlayın. Ben çok saniye tepki süreleri olan bir SCSI sabit disk (bazı ebay açık artırma çıkardı olması gerekir) ile "yüksek uç sunucuları" gördüm ... IO tarafı doğrulamak. Ayrıca yardımcı olacaktır - eğer sayılar tamamen saçma ise çok fazla IO eksik endekslere işaret edebilir.
TomTom

Yanıtlar:


9
  • Yavaş sorguları günlüğe kaydet - Sisteminizde bir ton sorgu varsa, hangi sorguların sisteminizi yavaşlattığını bulmak zorlaşır. MySQL, daha ileri analizler için yavaş sorguları günlüğe kaydetmek için bir araç sunar http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

  • EXPLAIN Genişletilmiş komutu, ne olduğunu bilmediğinizde sorgularınızla ilgili ayrıntıları gösterir http://dev.mysql.com/doc/refman/5.0/en/explain-extended.html

  • Sorgularınızı hızlandırmak için Dizin - İyi bir uygulama, WHERE yan tümcesi dizininde hangi alanların bulunduğunu görerek dizin eklemektir. Ayrıca, bir tablodan tüm alanları alıyorsanız, diskteki tüm veriler getirilerek sorgu yavaşlar. SELECT sorgusunda, hepsini getirmek için hangi alanları getirmeniz gerektiğini belirtmelisiniz *
  • Sorgu Önbelleğini kullanın http://dev.mysql.com/doc/refman/5.1/en/query-cache-configuration.html
  • MySQL sunucusu yapılandırma dosyası seçeneklerinizin donanımınıza göre optimize edildiğinden emin olun http://dev.mysql.com/doc/refman/5.5/en/option-files.html
  • Tablo yapısı oluştururken en iyi duruma getirilmiş veri türlerini kullandığınızdan emin olun. Örneğin "Yorumlar" alanları 256 karakter boyutundadır, bunu TEXT kullanmak yerine VARCHAR (256) türünde bir alanla MYSQL'e yanıtlayın. Sorgu çok daha hızlı olacaktır.

Procedure_Analyse (), en uygun veri türlerini bulmanıza yardımcı olabilir:

http://www.mysqlperformanceblog.com/2009/03/23/procedure-analyse/

http://dev.mysql.com/doc/refman/5.0/en/procedure-analyse.html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.