SysAdminDay

AÄŸu
18
2009

Sysbench ile MySQL Performans Karşılaştırması

sysbench1_emreyasarMySQL veritabanı yönetiyorsanız en iyi verimi alabilmek için  “performance tuning” iÅŸlerine  oldukça zaman harcamışsınızdır.

Yapılan parametrik değişikliklerin MySQL veritabanınızın performansını ne kadar değiştirdiğini veya iyileştirip iyileştirmediğini veritabanınızı kullanan uygulamalarınızın hızından net olarak kestiremeyebilirsiniz.

İşte SYSBENCH bu özelliği ile öne çıkan bir benchmark aracı.

Sysbench, cpu, bellek, disk i/o gibi alışılagelmiş değerler ile ilgili testler yaptığı gibi tüm bu parametrelerden ve ayrıca veritabanı konfigürasyonundan doğrudan etkilenen MySQL veritabanının performansı ile ilgili de testler gerçekleştirebiliyor.

Uygulamanın resmi web sitesine sysbench.sourceforge.net adresinden erişilebilir.

Kaynak kodu web sitesinden indirdikten sonra derleyip kuruyorsunuz.

Her kaynaktan kurma işleminde yapılan ./configure; make; make install kurulum için yapmanız gereken tek şey (ama tabi pratikte bu böyle).

Gerekli olacak gcc, make gibi development paketlerinin haricinde başka paketlere de ihtiyaç duyabilirsiniz. Ayrıca kullandığınız Linux/Unix dağıtımına göre ./configure kullanırken parametre girmeniz gerekebilir.

Kurulum aşamasında işler pek yolunda gitmezse autogen.sh betiğini kullanmayı da bir deneyin.

Kurulum sonrasında veritabanınızda performans testleri yapmaya başlayabilirsiniz.

  • sysbench –test=oltp –mysql-user=kullanici –mysql-password=sifre –mysql-db=test –mysql-host=localhost –mysql-table-engine=myisam –mysql-socket=/var/lib/mysql/mysql.sock –oltp-table-size=100000 prepare
  • sysbench –test=oltp –num-threads=16 –max-requests=100000 –oltp-table-size=100000 –mysql-socket=/var/lib/mysql/mysql.sock –mysql-db=test –oltp-read-only run

Yukarıdaki komutları kullanarak testdb isimli veritabanınızda teste başlayabilirsiniz.

Komuttan da anlaşılacağı gibi ilk komut test için gerekl bench’i hazırlıyor ikinci komut ise testi çalıştırıyor.

Birinci komut seçilen veritabanında varsayılan olarak sbtest isimli bir table oluşturuyur ve yine varsayılan olarak 10000 satırlık bir rasgele veri yığını oluşturuyor. İsterseniz bu değerleri parametrik olarak değiştirebiliyorsunuz. Örneği bu testte 100000 transaction gerçekleştirilecek.

İkinci komut ise bu yığından 100000 adet select işlemi yapıyor.

Test iÅŸlemleri bittikten sonra oluÅŸturulan tabloyu elle silebilir veya

  • sysbench –test=oltp –mysql-user=kullanici –mysql-password=sifre –mysql-db=test –mysql-host=localhost –mysql-table-engine=myisam –mysql-socket=/var/lib/mysql/mysql.sock –oltp-table-size=100000 cleanup

komutunu kullanabilirsiniz.

Tool’un dokümantasyonu çok yeterli olmamakla birlikte, biraz zaman harcayarak iÅŸinize yarayacak test parametrelerini oluÅŸturmanız mümükün.

Küçük bir nokta.. Dokümantasyonda

sysbench –test=oltp –mysql-table-type=myisam …..

şeklinde bir yazımla karşılaşacaksınız.

Fakat –mysql-table-type ÅŸeklinde bir parametre olmadığını söyleyen bir hata alacaksınız.

Olması gereken parametre, yukarıdaki örnekte de görüldüğü gibi –mysq-table-engine olmalı.

Karşılaşırsanız şaşırmayın..

Son olarak, mysql performans ayarları ile çok uğraşıyorsanız, Sysbench çok sok kullanacağınız bir araç olacaktır.

Yorum yok »

RSS feed for comments on this post. TrackBack URL


Yorum yaz

  

Altyapi WP Temadown Wp Tr Temayapim TheBuckmaker Cevirmen Otel