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.