Issues (393)

workloads/rubis.rb (1 issue)

1
# frozen_string_literal: true
2
3
NoSE::Workload.new do
0 ignored issues
show
Block has too many lines. [132/25]
Loading history...
4
  Model 'rubis'
5
6
  # Define queries and their relative weights, weights taken from below
7
  # http://rubis.ow2.org/results/SB-BMP/Bidding/JBoss-SB-BMP-Bi-1500/perf.html#run_stat
8
  # http://rubis.ow2.org/results/SB-BMP/Browsing/JBoss-SB-BMP-Br-1500/perf.html#run_stat
9
  DefaultMix :browsing
10
11
  Group 'BrowseCategories', browsing: 4.44,
12
                            bidding: 7.65,
13
                            write_medium: 7.65,
14
                            write_heavy: 7.65 do
15
    Q 'SELECT users.nickname, users.password FROM users WHERE users.id = ? -- 1'
16
    # XXX Must have at least one equality predicate
17
    Q 'SELECT categories.id, categories.name FROM categories WHERE ' \
18
      'categories.dummy = 1 -- 2'
19
  end
20
21
  Group 'ViewBidHistory', browsing: 2.38,
22
                          bidding: 1.54,
23
                          write_medium: 1.54,
24
                          write_heavy: 1.54 do
25
    Q 'SELECT items.name FROM items WHERE items.id = ? -- 3'
26
    Q 'SELECT users.id, users.nickname, bids.id, item.id, bids.qty, ' \
27
      'bids.bid, bids.date FROM users.bids.item WHERE item.id = ? ' \
28
      'ORDER BY bids.date -- 4'
29
  end
30
31
  Group 'ViewItem', browsing: 22.95,
32
                    bidding: 14.17,
33
                    write_medium: 14.17,
34
                    write_heavy: 14.17 do
35
    Q 'SELECT items.* FROM items WHERE items.id = ? -- 5'
36
    Q 'SELECT bids.* FROM items.bids WHERE items.id = ? -- 6'
37
  end
38
39
  Group 'SearchItemsByCategory', browsing: 27.77,
40
                                 bidding: 15.94,
41
                                 write_medium: 15.94,
42
                                 write_heavy: 15.94 do
43
    Q 'SELECT items.id, items.name, items.initial_price, items.max_bid, ' \
44
      'items.nb_of_bids, items.end_date FROM items.category WHERE ' \
45
      'category.id = ? AND items.end_date >= ? LIMIT 25 -- 7'
46
  end
47
48
  Group 'ViewUserInfo', browsing: 4.41,
49
                        bidding: 2.48,
50
                        write_medium: 2.48,
51
                        write_heavy: 2.48 do
52
    # XXX Not including region name below
53
    Q 'SELECT users.* FROM users WHERE users.id = ? -- 8'
54
    Q 'SELECT comments.id, comments.rating, comments.date, comments.comment ' \
55
      'FROM comments.to_user WHERE to_user.id = ? -- 9'
56
  end
57
58
  Group 'RegisterItem', bidding: 0.53,
59
                        write_medium: 0.53 * 10,
60
                        write_heavy: 0.53 * 100 do
61
    Q 'INSERT INTO items SET id=?, name=?, description=?, initial_price=?, ' \
62
      'quantity=?, reserve_price=?, buy_now=?, nb_of_bids=0, max_bid=0, ' \
63
      'start_date=?, end_date=? AND CONNECT TO category(?), seller(?) -- 10'
64
  end
65
66
  Group 'RegisterUser', bidding: 1.07,
67
                        write_medium: 1.07 * 10,
68
                        write_heavy: 1.07 * 100 do
69
    Q 'INSERT INTO users SET id=?, firstname=?, lastname=?, nickname=?, ' \
70
      'password=?, email=?, rating=0, balance=0, creation_date=? ' \
71
      'AND CONNECT TO region(?) -- 11'
72
  end
73
74
  Group 'BuyNow', bidding: 1.16,
75
                  write_medium: 1.16,
76
                  write_heavy: 1.16 do
77
    Q 'SELECT users.nickname FROM users WHERE users.id=? -- 12'
78
    Q 'SELECT items.* FROM items WHERE items.id=? -- 13'
79
  end
80
81
  Group 'StoreBuyNow', bidding: 1.10,
82
                       write_medium: 1.10 * 10,
83
                       write_heavy: 1.10 * 100 do
84
    Q 'SELECT items.quantity, items.nb_of_bids, items.end_date FROM items ' \
85
      'WHERE items.id=? -- 14'
86
    Q 'UPDATE items SET quantity=?, nb_of_bids=?, end_date=? WHERE items.id=? -- 15'
87
    Q 'INSERT INTO buynow SET id=?, qty=?, date=? ' \
88
      'AND CONNECT TO item(?), buyer(?) -- 16'
89
  end
90
91
  Group 'PutBid', bidding: 5.40,
92
                  write_medium: 5.40,
93
                  write_heavy: 5.40 do
94
    Q 'SELECT users.nickname, users.password FROM users WHERE users.id=? -- 17'
95
    Q 'SELECT items.* FROM items WHERE items.id=? -- 18'
96
    Q 'SELECT bids.qty, bids.date FROM bids.item WHERE item.id=? ' \
97
      'ORDER BY bids.bid LIMIT 2 -- 19'
98
  end
99
100
  Group 'StoreBid', bidding: 3.74,
101
                    write_medium: 3.74 * 10,
102
                    write_heavy: 3.74 * 100 do
103
    Q 'INSERT INTO bids SET id=?, qty=?, bid=?, date=? ' \
104
      'AND CONNECT TO item(?), user(?) -- 20'
105
    Q 'SELECT items.nb_of_bids, items.max_bid FROM items WHERE items.id=? -- 21'
106
    Q 'UPDATE items SET nb_of_bids=?, max_bid=? WHERE items.id=? -- 22'
107
  end
108
109
  Group 'PutComment', bidding: 0.46,
110
                      write_medium: 0.46,
111
                      write_heavy: 0.46 do
112
    Q 'SELECT users.nickname, users.password FROM users WHERE users.id=? -- 23'
113
    Q 'SELECT items.* FROM items WHERE items.id=? -- 24'
114
    Q 'SELECT users.* FROM users WHERE users.id=? -- 25'
115
  end
116
117
  Group 'StoreComment', bidding: 0.45,
118
                        write_medium: 0.45 * 10,
119
                        write_heavy: 0.45 * 100 do
120
    Q 'SELECT users.rating FROM users WHERE users.id=? -- 26'
121
    Q 'UPDATE users SET rating=? WHERE users.id=? -- 27'
122
    Q 'INSERT INTO comments SET id=?, rating=?, date=?, comment=? ' \
123
      'AND CONNECT TO to_user(?), from_user(?), item(?) -- 28'
124
  end
125
126
  Group 'AboutMe', bidding: 1.71,
127
                   write_medium: 1.71,
128
                   write_heavy: 1.71 do
129
    Q 'SELECT users.* FROM users WHERE users.id=? -- 29'
130
    Q 'SELECT comments_received.* FROM users.comments_received ' \
131
      'WHERE users.id = ? -- 30'
132
    Q 'SELECT from_user.nickname FROM comments.from_user WHERE comments.id = ? -- 31'
133
    Q 'SELECT bought_now.*, items.* FROM items.bought_now.buyer ' \
134
      'WHERE buyer.id = ? AND bought_now.date>=? -- 32'
135
    Q 'SELECT items.* FROM items.seller WHERE seller.id=? AND ' \
136
      'items.end_date >=? -- 33'
137
    Q 'SELECT items.* FROM items.bids.user WHERE user.id=? AND ' \
138
      'items.end_date>=? -- 34'
139
  end
140
141
  Group 'SearchItemsByRegion', browsing: 8.26,
142
                               bidding: 6.34,
143
                               write_medium: 6.34,
144
                               write_heavy: 6.34 do
145
    Q 'SELECT items.id, items.name, items.initial_price, items.max_bid, ' \
146
      'items.nb_of_bids, items.end_date FROM ' \
147
      'items.seller WHERE seller.region.id = ? AND items.category.id = ? ' \
148
      'AND items.end_date >= ? LIMIT 25 -- 35'
149
  end
150
151
  Group 'BrowseRegions', browsing: 3.21,
152
                         bidding: 5.39,
153
                         write_medium: 5.39,
154
                         write_heavy: 5.39 do
155
    # XXX Must have at least one equality predicate
156
    Q 'SELECT regions.id, regions.name FROM regions ' \
157
      'WHERE regions.dummy = 1 -- 36'
158
  end
159
end
160