2011-03-01 17 views

cevap

6

Ben aracı mytop gibi. * Nix dünyasında top gibi ama MySQL'in kendisi için. Ve temelde tam olarak ne soruyorsun ...

Diğer optimizasyon teknikleri kadar kişisel olarak MySQL sorgularını test etmek için Apache Bench'u kullanmayı seviyorum. Temel olarak, geliştirmek istediğim sorguyu yürütmek yerine hiçbir şey yapmayan basit bir betik oluşturuyorum. Sonra, farklı eşzamanlılık ayarları ile AB'yi çalıştırıyorum. Yarar, ne kadar hızlı çalıştığı değil, sorgulamanın nasıl ölçeklendiğine dair bir fikir edinmenizdir. Tek bir çalışma için bir sorgu hızlı olursa kimin umurunda. Gerçekten önemsediğiniz şey, yükte ne kadar hızlı çalışır. Yani: AB kullanarak Sonra

<?php 
$my = new MySQLi($host, $user, $pass); 
$my->query('SELECT foo'); 

:

Sonra
ab -c 10 -n 10000 http://localhost/path/to/my/test.php 

, eşzamanlılık parametre (-c 10) Farklı eşzamanlı yük için test edebilirsiniz ayarlayarak. Bu şekilde, tweak'larınızın 'u diğer metriklerle tahmin etmekten ziyade kesin sorguyu nasıl etkilediğine gerçekten bakabilirsiniz.

0

Sorunuzu uzun süre önce sorduğunuzu biliyorum - ancak bunun karşısına çıktım ve başka bir aracı sizinle paylaşmak istedim. Percona numaralı Baron Schwartz, bir sonraki nesil mytop olan innotop'u başlattı. Sunucu durumu ve sorgu analizi üzerine gelişmiş InnoDB izleme ekler. CentOS çalıştırıyorsanız, EPEL deposunda bulunur.

İlgili konular