1 | # frozen_string_literal: true |
||
2 | |||
3 | NoSE::Workload.new do |
||
0 ignored issues
–
show
introduced
by
![]() |
|||
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 |