Commit 66244e27ee1ebb288ecca892056f3cd0d1faa836
1 parent
3bad0603
Exists in
master
and in
29 other branches
Better automated performance test
(ActionItem1617)
Showing
1 changed file
with
11 additions
and
7 deletions
Show diff stats
test/integration/performance_test.rb
| ... | ... | @@ -22,16 +22,20 @@ class PerformanceTest < ActionController::IntegrationTest |
| 22 | 22 | should 'not have a linear increase in time to display a blog page' do |
| 23 | 23 | person = create_profile('clueless') |
| 24 | 24 | |
| 25 | + person0 = create_profile('person0') | |
| 26 | + person1 = create_profile('person1') | |
| 27 | + create_posts(person1, 50) | |
| 28 | + person2 = create_profile('person2') | |
| 29 | + create_posts(person2, 100) | |
| 30 | + | |
| 25 | 31 | # no posts |
| 26 | - time0 = (Benchmark.measure { get '/clueless/blog' }) | |
| 32 | + time0 = (Benchmark.measure { get '/person0/blog' }) | |
| 27 | 33 | |
| 28 | 34 | # first 50 |
| 29 | - create_posts(person) | |
| 30 | - time1 = (Benchmark.measure { get '/clueless/blog' }) | |
| 35 | + time1 = (Benchmark.measure { get '/person1/blog' }) | |
| 31 | 36 | |
| 32 | 37 | # another 50 |
| 33 | - create_posts(person) | |
| 34 | - time2 = (Benchmark.measure { get '/clueless/blog' }) | |
| 38 | + time2 = (Benchmark.measure { get '/person2/blog' }) | |
| 35 | 39 | |
| 36 | 40 | # should not scale linearly, i.e. the inclination of the first segment must |
| 37 | 41 | # be a lot higher than the one of the segment segment. To compensate for |
| ... | ... | @@ -51,10 +55,10 @@ class PerformanceTest < ActionController::IntegrationTest |
| 51 | 55 | person |
| 52 | 56 | end |
| 53 | 57 | |
| 54 | - def create_posts(profile) | |
| 58 | + def create_posts(profile, n) | |
| 55 | 59 | postnumber = profile.articles.count |
| 56 | 60 | blog = profile.blog |
| 57 | - 50.times do |i| | |
| 61 | + n.times do |i| | |
| 58 | 62 | postnumber += 1 |
| 59 | 63 | TinyMceArticle.create!(:profile => profile, :parent => blog, :name => "post number #{postnumber}") |
| 60 | 64 | end | ... | ... |