Dovadi

None of us is as smart as all of us.

Installeren Van Railsbench

Vorige week ben ik aan de slag gegaan met Railsbench. Het viel me op dat de installatie instructies summier zijn. Zeker als je nog niet echt een ervaren gebruiker bent van linux (zoals ik). Hier zijn mijn aanvullingen en ervaringen:

  • Download en pak het railsbench-X.X.X tar.gz uit in de ruby directory (in mijn geval /usr/lib/ruby/1.8/)
  • Ga naar de railsbench directory cd /usr/lib/ruby/1.8/railsbench-x.×.x
  • Kopieer site-ruby/benchmark.rb over de originele benchmark.rb sudo cp site-ruby/benchmark.rb ../benchmark.rb
  • Set de script directory in het search path door een regel toe te voegen aan .bashrc file (in home directory of systemwide /etc/bashrc): sudo export PATH=$PATH:/usr/lib/ruby/1.8/railsbench-x.×.x/script/
    >> .bashrc
  • Kopier de benchmark-bestanden naar je project automatisch met install (check met —dry-run) ruby install.rb
  • Set RAILS_ROOT environment variable (deze verwijst vreemd genoeg direct naar de applicatie die je wilt gaan testen en niet de projecten-directory) export RAILS_ROOT=../../railsprojects/myapp

Nu runnen maar met perf_run of perf_bench.

Nog twee ervaringen:

  • Let op dat wanneer je een wijziging maakt in je applicatie, dat je dan geen fout maakt waardoor er bv een 500 error ontstaat. Het lijkt voor de hand te liggen, maar omdat je alleen maar bezig bent met performance vergeet je je testen te draaien. Je denkt een enorme verbetering gemaakt te hebben, perf_run laat duidelijk betere getallen zien, maar dat komt dan omdat op dat moment de applicatie een error geneert en dat doet ie veel sneller dan het volledig afhandelen van de method die je aan het verbeteren bent. Perf_run laat alleen getallen zien en geen foutmeldingen van je app.
  • Railsbench werkt niet als je sessies raadpleegt in een helper (moet je natuurlijk nooit doen). Maar je applicatie werkt, je testen werken, alleen railsbench creeert excepties en kan er niet mee om gaan.