rhoconnect 3.0.5 → 3.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +7 -1
- data/Gemfile.lock +9 -9
- data/README.md +4 -4
- data/Rakefile +41 -28
- data/bench/bench_runner.rb +4 -5
- data/bench/benchapp/Gemfile +1 -1
- data/bench/benchapp/Gemfile.lock +26 -27
- data/bench/benchapp/config.ru +4 -0
- data/bench/benchapp/log/passenger.3000.log +1 -0
- data/bench/benchapp/log/passenger.9292.log +59 -0
- data/bench/benchapp/settings/settings.yml +2 -0
- data/bench/benchapp/tmp/pids/passenger.3000.pid.lock +0 -0
- data/bench/benchapp/tmp/pids/passenger.9292.pid.lock +0 -0
- data/bench/distr_bench/distr_bench +7 -0
- data/bench/distr_bench/distr_bench_main +99 -0
- data/bench/distr_bench/run_distr_client.sh +12 -0
- data/bench/distr_bench/run_test_query_script.sh +50 -0
- data/bench/lib/bench/bench_result_processor.rb +90 -0
- data/bench/lib/bench/cli.rb +35 -2
- data/bench/lib/bench/logging.rb +2 -0
- data/bench/lib/bench/runner.rb +4 -2
- data/bench/lib/bench/session.rb +3 -1
- data/bench/lib/bench/statistics.rb +41 -1
- data/bench/lib/bench/timer.rb +7 -0
- data/bench/lib/bench/utils.rb +8 -0
- data/bench/lib/bench.rb +35 -9
- data/bench/lib/testdata/0-data.txt +0 -0
- data/bench/lib/testdata/1-data.txt +0 -0
- data/bench/lib/testdata/10-data.txt +15 -0
- data/bench/lib/testdata/2-data.txt +3 -0
- data/bench/lib/testdata/25-data.txt +39 -0
- data/bench/lib/testdata/250-data.txt +353 -0
- data/bench/lib/testdata/3-data.txt +4 -0
- data/bench/lib/testdata/5-data.txt +7 -8
- data/bench/lib/testdata/50-data.txt +70 -0
- data/bench/lib/testdata/500-data.txt +711 -0
- data/bench/prepare_bench +45 -0
- data/bench/run_bench.sh +3 -3
- data/bench/run_blob_script.sh +1 -1
- data/bench/run_cud_script.sh +1 -1
- data/bench/run_query_md_script.sh +1 -1
- data/bench/run_query_only_script.sh +1 -1
- data/bench/run_query_script.sh +1 -1
- data/bench/run_test_query_script.sh +30 -0
- data/bench/run_test_source_script.sh +21 -0
- data/bench/scripts/test_query_script.rb +64 -0
- data/bench/scripts/test_source_script.rb +27 -0
- data/bin/rhoconnect-benchmark +13 -0
- data/doc/client-objc.txt +236 -1
- data/doc/client.txt +132 -0
- data/doc/extending-rhoconnect-server.txt +79 -0
- data/doc/install.txt +1 -1
- data/doc/java-plugin.txt +291 -0
- data/doc/rest-api.txt +3 -1
- data/installer/unix-like/create_texts.rb +73 -16
- data/installer/unix-like/pre_install.sh +1 -1
- data/installer/unix-like/rho_connect_install_constants.rb +1 -1
- data/installer/utils/constants.rb +2 -2
- data/installer/utils/nix_install_test.rb +85 -75
- data/installer/utils/package_upload/repos.rake +82 -2
- data/installer/windows/rhosync.nsi +5 -5
- data/lib/rhoconnect/api/application/queue_updates.rb +14 -0
- data/lib/rhoconnect/api/source/set_db_doc.rb +3 -1
- data/lib/rhoconnect/server.rb +9 -17
- data/lib/rhoconnect/version.rb +1 -1
- data/rhoconnect.gemspec +1 -1
- data/spec/api/admin/get_api_token_spec.rb +6 -0
- data/spec/api/source/set_db_doc_spec.rb +13 -0
- data/spec/server/server_spec.rb +27 -1
- data/tasks/redis.rake +2 -2
- metadata +73 -48
- data/examples/simple/dump.rdb +0 -0
- data/installer/utils/package_upload/repos.rb +0 -83
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
## 3.0.
|
1
|
+
## 3.0.6 (2011-11-15)
|
2
|
+
* #20022889 - support for GET/POST /api/application routes
|
3
|
+
* #20609683 - support 'append' parameter in 'set_db_doc' REST API
|
4
|
+
* #20910767 - fix for params modification in before filter (#1802,#1804) and fixing incorrect blob create spec
|
5
|
+
* #20917129 - adding spec for checking 'Cache-Control:no-cache' and 'Pragma:no-cache' response headers
|
6
|
+
|
7
|
+
## 3.0.5 (2011-10-21)
|
2
8
|
* use redis 2.4 by default
|
3
9
|
* #17447481 - auto-renewal of expired C2DM tokens
|
4
10
|
* #19723593 - re-creating Client if clientregister call is made with unknown client id
|
data/Gemfile.lock
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rhoconnect (3.0.
|
4
|
+
rhoconnect (3.0.6)
|
5
5
|
bundler (~> 1.0)
|
6
6
|
json (~> 1.5.0)
|
7
|
-
rake (
|
7
|
+
rake (~> 0.9.2)
|
8
8
|
redis (>= 2.2.0)
|
9
9
|
resque (~> 1.19.0)
|
10
10
|
rest-client (~> 1.6.1)
|
@@ -38,23 +38,23 @@ GEM
|
|
38
38
|
nokogiri (~> 1.5.0)
|
39
39
|
ruby-hmac
|
40
40
|
formatador (0.2.1)
|
41
|
-
fpm (0.3.
|
41
|
+
fpm (0.3.10)
|
42
42
|
json
|
43
43
|
highline (1.6.2)
|
44
44
|
json (1.5.4)
|
45
|
-
mime-types (1.
|
45
|
+
mime-types (1.17.1)
|
46
46
|
multi_json (1.0.3)
|
47
47
|
net-scp (1.0.4)
|
48
48
|
net-ssh (>= 1.99.1)
|
49
49
|
net-ssh (2.1.4)
|
50
50
|
nokogiri (1.5.0)
|
51
|
-
rack (1.3.
|
51
|
+
rack (1.3.5)
|
52
52
|
rack-protection (1.1.4)
|
53
53
|
rack
|
54
54
|
rack-test (0.6.1)
|
55
55
|
rack (>= 1.0)
|
56
56
|
rake (0.9.2)
|
57
|
-
rcov (0.9.
|
57
|
+
rcov (0.9.11)
|
58
58
|
redis (2.2.2)
|
59
59
|
redis-namespace (1.0.3)
|
60
60
|
redis (< 3.0.0)
|
@@ -76,9 +76,9 @@ GEM
|
|
76
76
|
ruby-hmac (0.4.0)
|
77
77
|
rubyzip (0.9.4)
|
78
78
|
sinatra (1.3.1)
|
79
|
-
rack (
|
80
|
-
rack-protection (
|
81
|
-
tilt (
|
79
|
+
rack (>= 1.3.4, ~> 1.3)
|
80
|
+
rack-protection (>= 1.1.2, ~> 1.1)
|
81
|
+
tilt (>= 1.3.3, ~> 1.3)
|
82
82
|
sqlite3 (1.3.4)
|
83
83
|
templater (1.0.0)
|
84
84
|
diff-lcs (>= 1.1.2)
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@ RhoConnect is an app integration server which keeps enterprise data current and
|
|
4
4
|
|
5
5
|
More Info
|
6
6
|
-------------------------------------------------------------
|
7
|
-
* Intro to Rhodes & RhoConnect:
|
8
|
-
* RhoConnect:
|
9
|
-
* Tutorial:
|
10
|
-
* RDoc (still rough):
|
7
|
+
* Intro to Rhodes & RhoConnect: <http://docs.rhomobile.com>
|
8
|
+
* RhoConnect: <http://docs.rhomobile.com/rhoconnect/introduction>
|
9
|
+
* Tutorial: <http://docs.rhomobile.com/rhoconnect/tutorial>
|
10
|
+
* RDoc (still rough): <http://rdoc.info/projects/rhomobile/rhoconnect>
|
data/Rakefile
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
load 'tasks/redis.rake'
|
3
|
-
load 'installer/utils/nix_installation.rake'
|
4
|
-
load 'installer/utils/package_upload/repos.rake'
|
5
3
|
|
6
4
|
require 'bundler'
|
7
5
|
Bundler.setup(:default, :development, :test)
|
6
|
+
load 'installer/utils/nix_installation.rake'
|
7
|
+
load 'installer/utils/package_upload/repos.rake'
|
8
8
|
|
9
9
|
require 'yaml'
|
10
10
|
$:.unshift File.join(File.dirname(__FILE__),'lib')
|
@@ -93,7 +93,7 @@ task :archive do
|
|
93
93
|
end
|
94
94
|
|
95
95
|
# Debian and RPM package building tasks
|
96
|
-
def build_pkg(dist, arch, deps)
|
96
|
+
def build_pkg(dist, arch, deps, use_bench_tarball=false)
|
97
97
|
start_dir = `pwd`.strip
|
98
98
|
workspace = "#{start_dir}/pkg/workspace"
|
99
99
|
version = Rhoconnect::VERSION
|
@@ -114,6 +114,9 @@ def build_pkg(dist, arch, deps)
|
|
114
114
|
system("cp -r installer/unix-like/* #{workspace}/unix-like")
|
115
115
|
system("cp pkg/#{gem_name} #{workspace}")
|
116
116
|
|
117
|
+
# Create bench tarball
|
118
|
+
`git archive --format=tar --prefix=bench/ HEAD:bench | gzip > #{workspace}/bench.tar.gz` if use_bench_tarball
|
119
|
+
|
117
120
|
# cd into the pkg dir so that fpm will create the package into the pkg dir.
|
118
121
|
Dir.chdir("./pkg")
|
119
122
|
|
@@ -136,33 +139,43 @@ def build_pkg(dist, arch, deps)
|
|
136
139
|
Dir.chdir(start_dir)
|
137
140
|
end #build_pkg
|
138
141
|
|
142
|
+
DEB_DEPS = [
|
143
|
+
"wget (>= 1.0)", "make (>= 3.0)", "patch (>= 2.0)",
|
144
|
+
"build-essential (>= 0)",
|
145
|
+
"zlib1g (>= 1.2.3)", "zlib1g-dev (>= 1.2.3)",
|
146
|
+
"libssl0.9.8 (>= 0)", "libssl-dev (>= 0.9.8)",
|
147
|
+
"libcurl4-openssl-dev (>= 0)",
|
148
|
+
"libreadline5 (>= 0)", "libreadline5-dev (>= 0)",
|
149
|
+
# "libreadline6 (>= 0)", "libreadline6-dev (>= 0)",
|
150
|
+
"libsqlite3-0 (>= 3.6.22-1)", "libsqlite3-dev (>= 3.6.22-1)"
|
151
|
+
]
|
152
|
+
|
139
153
|
desc "Build Debian DEB rhoconnect-#{Rhoconnect::VERSION}_all.deb package into the pkg directory"
|
140
154
|
task "build:deb" => :build do
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
155
|
+
build_pkg "deb", "all", DEB_DEPS
|
156
|
+
end
|
157
|
+
|
158
|
+
desc "Build Debian DEB rhoconnect-#{Rhoconnect::VERSION}_all.deb package into the pkg directory"
|
159
|
+
task "build:bench:deb" => :build do
|
160
|
+
build_pkg "deb", "all", DEB_DEPS, true
|
161
|
+
end
|
162
|
+
|
163
|
+
RPM_DEPS = [
|
164
|
+
"wget >= 1.0", "make >= 3.0", "patch >= 2.0",
|
165
|
+
"gcc-c++ >= 4.1.2",
|
166
|
+
"zlib >= 1.2.3", "zlib-devel >= 1.2.3",
|
167
|
+
"curl >= 7.15.5", "curl-devel >= 7.15.5",
|
168
|
+
"pcre >= 6.6", "pcre-devel >= 6.6",
|
169
|
+
"openssl >= 0.9.8e", "openssl-devel >= 0.9.8e",
|
170
|
+
"readline-devel >= 5.1", "readline-devel >= 5.1"
|
171
|
+
]
|
154
172
|
|
155
173
|
desc "Build Red Hat RPM rhoconnect-#{Rhoconnect::VERSION}.noarch.rpm package into the pkg directory"
|
156
174
|
task "build:rpm" => :build do
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
"readline-devel >= 5.1", "readline-devel >= 5.1"
|
165
|
-
]
|
166
|
-
|
167
|
-
build_pkg "rpm", "noarch", deps
|
168
|
-
end #build:rpm
|
175
|
+
build_pkg "rpm", "noarch", RPM_DEPS
|
176
|
+
end
|
177
|
+
|
178
|
+
desc "Build Red Hat RPM benchmark rhoconnect-#{Rhoconnect::VERSION}.noarch.rpm package into the pkg directory"
|
179
|
+
task "build:bench:rpm" => :build do
|
180
|
+
build_pkg "rpm", "noarch", RPM_DEPS, true
|
181
|
+
end
|
data/bench/bench_runner.rb
CHANGED
@@ -17,10 +17,9 @@ begin
|
|
17
17
|
puts `bundle update`
|
18
18
|
puts
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
# puts
|
20
|
+
puts "Installing rhoconnect ..."
|
21
|
+
puts `rake install`
|
22
|
+
puts
|
24
23
|
|
25
24
|
Dir.chdir "bench/benchapp" #puts Dir.pwd
|
26
25
|
puts "Checking bench application dependencies ..."
|
@@ -110,4 +109,4 @@ end
|
|
110
109
|
|
111
110
|
puts "Script #{$0} is finished at #{Time.now.to_s}"
|
112
111
|
puts ""
|
113
|
-
# $stdout = orig_stdout #restore stdout
|
112
|
+
# $stdout = orig_stdout #restore stdout
|
data/bench/benchapp/Gemfile
CHANGED
data/bench/benchapp/Gemfile.lock
CHANGED
@@ -1,18 +1,3 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ../../
|
3
|
-
specs:
|
4
|
-
rhoconnect (3.0.0)
|
5
|
-
bundler (~> 1.0)
|
6
|
-
json (~> 1.5.0)
|
7
|
-
rake (= 0.9.2)
|
8
|
-
redis (>= 2.2.0)
|
9
|
-
resque (~> 1.17.0)
|
10
|
-
rest-client (~> 1.6.1)
|
11
|
-
rubyzip (~> 0.9.4)
|
12
|
-
sinatra (= 1.2.7)
|
13
|
-
templater (~> 1.0.0)
|
14
|
-
uuidtools (>= 2.1.1)
|
15
|
-
|
16
1
|
GEM
|
17
2
|
remote: http://rubygems.org/
|
18
3
|
specs:
|
@@ -23,7 +8,7 @@ GEM
|
|
23
8
|
dbi (0.4.5)
|
24
9
|
deprecated (= 2.0.1)
|
25
10
|
deprecated (2.0.1)
|
26
|
-
diff-lcs (1.1.
|
11
|
+
diff-lcs (1.1.3)
|
27
12
|
eventmachine (0.12.10)
|
28
13
|
extlib (0.9.15)
|
29
14
|
highline (1.6.2)
|
@@ -33,24 +18,37 @@ GEM
|
|
33
18
|
bouncy-castle-java
|
34
19
|
jruby-rack (1.0.10)
|
35
20
|
json (1.5.4)
|
36
|
-
|
37
|
-
|
38
|
-
rack (1.3.
|
21
|
+
mime-types (1.17.2)
|
22
|
+
multi_json (1.0.3)
|
23
|
+
rack (1.3.5)
|
24
|
+
rack-protection (1.1.4)
|
25
|
+
rack
|
39
26
|
rack-test (0.6.1)
|
40
27
|
rack (>= 1.0)
|
41
28
|
rake (0.9.2)
|
42
|
-
rcov (0.9.
|
43
|
-
rcov (0.9.
|
29
|
+
rcov (0.9.11)
|
30
|
+
rcov (0.9.11-java)
|
44
31
|
redis (2.2.2)
|
45
32
|
redis-namespace (1.0.3)
|
46
33
|
redis (< 3.0.0)
|
47
|
-
resque (1.
|
48
|
-
|
34
|
+
resque (1.19.0)
|
35
|
+
multi_json (~> 1.0)
|
49
36
|
redis-namespace (~> 1.0.2)
|
50
37
|
sinatra (>= 0.9.2)
|
51
38
|
vegas (~> 0.1.2)
|
52
39
|
rest-client (1.6.7)
|
53
40
|
mime-types (>= 1.16)
|
41
|
+
rhoconnect (3.0.6)
|
42
|
+
bundler (~> 1.0)
|
43
|
+
json (~> 1.5.0)
|
44
|
+
rake (= 0.9.2)
|
45
|
+
redis (>= 2.2.0)
|
46
|
+
resque (~> 1.19.0)
|
47
|
+
rest-client (~> 1.6.1)
|
48
|
+
rubyzip (~> 0.9.4)
|
49
|
+
sinatra (~> 1.3)
|
50
|
+
templater (~> 1.0.0)
|
51
|
+
uuidtools (>= 2.1.1)
|
54
52
|
rspec (2.6.0)
|
55
53
|
rspec-core (~> 2.6.0)
|
56
54
|
rspec-expectations (~> 2.6.0)
|
@@ -60,9 +58,10 @@ GEM
|
|
60
58
|
diff-lcs (~> 1.1.2)
|
61
59
|
rspec-mocks (2.6.0)
|
62
60
|
rubyzip (0.9.4)
|
63
|
-
sinatra (1.
|
64
|
-
rack (~> 1.
|
65
|
-
|
61
|
+
sinatra (1.3.1)
|
62
|
+
rack (>= 1.3.4, ~> 1.3)
|
63
|
+
rack-protection (>= 1.1.2, ~> 1.1)
|
64
|
+
tilt (>= 1.3.3, ~> 1.3)
|
66
65
|
sqlite3 (1.3.4)
|
67
66
|
templater (1.0.0)
|
68
67
|
diff-lcs (>= 1.1.2)
|
@@ -98,7 +97,7 @@ DEPENDENCIES
|
|
98
97
|
jruby-openssl (>= 0.7.4)
|
99
98
|
rack-test (>= 0.5.3)
|
100
99
|
rcov (>= 0.9.8)
|
101
|
-
rhoconnect
|
100
|
+
rhoconnect
|
102
101
|
rspec (~> 2.6.0)
|
103
102
|
sqlite3 (>= 1.3.3)
|
104
103
|
thin
|
data/bench/benchapp/config.ru
CHANGED
@@ -24,11 +24,15 @@ Rhoconnect::Server.enable :raise_errors
|
|
24
24
|
Rhoconnect::Server.set :secret, 'cf8e8a1d3653fcfb2332d8b1af9f6762c3c45ea12144bb5f15cd5618cc8e453b45a02dd304bdd791489dcd1ae35b807e4b4f4e6f7faedb551e76996c0f3c11c6'
|
25
25
|
Rhoconnect::Server.set :root, ROOT_PATH
|
26
26
|
Rhoconnect::Server.use Rack::Static, :urls => ["/data"], :root => Rhoconnect::Server.root
|
27
|
+
Rhoconnect::Server.disable :logging
|
27
28
|
|
28
29
|
# Load our rhoconnect application
|
29
30
|
$:.unshift ROOT_PATH if RUBY_VERSION =~ /1.9/ # FIXME: see PT story #16682771
|
30
31
|
require 'application'
|
31
32
|
|
33
|
+
#STDERR=nil
|
34
|
+
#STDOUT=nil
|
35
|
+
|
32
36
|
# Setup the url map
|
33
37
|
run Rack::URLMap.new \
|
34
38
|
"/" => Rhoconnect::Server.new,
|
@@ -0,0 +1 @@
|
|
1
|
+
2011/10/24 15:33:01 [error] 35864#0: *4 "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/index.html" is not found (2: No such file or directory), client: 127.0.0.1, server: _, request: "HEAD / HTTP/1.1", host: "0.0.0.0"
|
@@ -0,0 +1,59 @@
|
|
1
|
+
2011/10/24 15:35:37 [error] 35907#0: *4 "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/index.html" is not found (2: No such file or directory), client: 127.0.0.1, server: _, request: "HEAD / HTTP/1.1", host: "0.0.0.0"
|
2
|
+
2011/10/24 15:35:43 [error] 35907#0: *5 open() "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/api/admin/login" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "POST /api/admin/login HTTP/1.1", host: "localhost:9292"
|
3
|
+
2011/10/24 15:36:35 [error] 35907#0: *7 open() "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/console/logout" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET /console/logout HTTP/1.1", host: "localhost:9292", referrer: "http://localhost:9292/console/"
|
4
|
+
2011/10/24 15:36:35 [error] 35907#0: *7 open() "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/favicon.ico" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET /favicon.ico HTTP/1.1", host: "localhost:9292"
|
5
|
+
2011/10/24 15:36:41 [error] 35907#0: *7 "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/index.html" is not found (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET / HTTP/1.1", host: "localhost:9292"
|
6
|
+
2011/10/24 15:36:41 [error] 35907#0: *7 open() "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/favicon.ico" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET /favicon.ico HTTP/1.1", host: "localhost:9292"
|
7
|
+
2011/10/24 15:38:06 [error] 35949#0: *4 "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/index.html" is not found (2: No such file or directory), client: 127.0.0.1, server: _, request: "HEAD / HTTP/1.1", host: "0.0.0.0"
|
8
|
+
2011/10/24 15:38:11 [error] 35949#0: *5 open() "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/console" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET /console HTTP/1.1", host: "localhost:9292"
|
9
|
+
2011/10/24 15:38:11 [error] 35949#0: *5 open() "/Users/mzverev/Projects/master/rhoconnect/bench/benchapp/public/favicon.ico" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET /favicon.ico HTTP/1.1", host: "localhost:9292"
|
10
|
+
[03:39:29 PM 2011-10-24] Rhoconnect Server v3.0.6 started...
|
11
|
+
:public is no longer used to avoid overloading Module#public, use :public_folder instead
|
12
|
+
from /Library/Ruby/Gems/1.8/gems/resque-1.19.0/lib/resque/server.rb:12
|
13
|
+
[ pid=35977 thr=0x10079a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.175 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
14
|
+
[ pid=35977 thr=0x101d3a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.181 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
15
|
+
[ pid=35977 thr=0x101ea6000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.184 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
16
|
+
[ pid=35977 thr=0x101c9e000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.188 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
17
|
+
[ pid=35977 thr=0x101eda000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.193 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
18
|
+
[ pid=35977 thr=0x1007ce000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.199 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
19
|
+
[ pid=35977 thr=0x101c6a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.205 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
20
|
+
[ pid=35977 thr=0x101b32000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.208 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
21
|
+
[ pid=35977 thr=0x101e0a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.210 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
22
|
+
[ pid=35977 thr=0x101f0e000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.212 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
23
|
+
[ pid=35977 thr=0x101dd6000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.214 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
24
|
+
[ pid=35977 thr=0x101b66000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.309 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
25
|
+
[ pid=35977 thr=0x101e3e000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.432 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
26
|
+
[ pid=35977 thr=0x100766000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.642 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
27
|
+
[ pid=35977 thr=0x101b9a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.663 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
28
|
+
[ pid=35977 thr=0x101c36000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:06.694 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
29
|
+
[ pid=35977 thr=0x101e3e000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:50.370 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
30
|
+
[ pid=35977 thr=0x101dd6000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:51.333 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
31
|
+
[ pid=35977 thr=0x101b32000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:51.346 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
32
|
+
[ pid=35977 thr=0x101b9a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 15:40:51.347 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
33
|
+
[04:41:27 PM 2011-10-24] Rhoconnect Server v3.0.6 started...
|
34
|
+
:public is no longer used to avoid overloading Module#public, use :public_folder instead
|
35
|
+
from /Library/Ruby/Gems/1.8/gems/resque-1.19.0/lib/resque/server.rb:12
|
36
|
+
[ pid=36271 thr=0x101d3e000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.131 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
37
|
+
[ pid=36271 thr=0x101c3a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.135 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
38
|
+
[ pid=36271 thr=0x10079a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.137 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
39
|
+
[ pid=36271 thr=0x101b6a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.140 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
40
|
+
[ pid=36271 thr=0x101ace000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.142 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
41
|
+
[ pid=36271 thr=0x101e0e000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.149 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
42
|
+
[ pid=36271 thr=0x101cd6000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.151 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
43
|
+
[ pid=36271 thr=0x101a66000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.153 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
44
|
+
[ pid=36271 thr=0x101b9e000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.155 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
45
|
+
[ pid=36271 thr=0x101b02000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.162 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
46
|
+
[ pid=36271 thr=0x101c06000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.164 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
47
|
+
[ pid=36271 thr=0x101a32000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.170 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
48
|
+
[ pid=36271 thr=0x101a9a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.176 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
49
|
+
[ pid=36271 thr=0x100732000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.179 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
50
|
+
[ pid=36271 thr=0x1007ce000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.185 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
51
|
+
[ pid=36271 thr=0x101d72000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.191 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
52
|
+
[ pid=36271 thr=0x101d0a000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.193 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
53
|
+
[ pid=36271 thr=0x101da6000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.195 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
54
|
+
[ pid=36271 thr=0x101dda000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.197 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
55
|
+
[ pid=36271 thr=0x101b36000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.744 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
56
|
+
[ pid=36271 thr=0x101ca2000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.777 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
57
|
+
[ pid=36271 thr=0x101bd2000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:34.833 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
58
|
+
[ pid=36271 thr=0x100766000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:35.133 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
59
|
+
[ pid=36271 thr=0x101c6e000 file=ext/nginx/HelperAgent.cpp:921 time=2011-10-24 16:49:35.150 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.
|
@@ -10,10 +10,12 @@
|
|
10
10
|
:syncserver: http://localhost:9292/api/application/
|
11
11
|
:licensefile: settings/license.key
|
12
12
|
:redis: localhost:6379
|
13
|
+
:log_disabled: true
|
13
14
|
:development:
|
14
15
|
:syncserver: http://localhost:9292/api/application/
|
15
16
|
:licensefile: settings/license.key
|
16
17
|
:redis: localhost:6379
|
18
|
+
:log_disabled: true
|
17
19
|
:production:
|
18
20
|
:syncserver: http://localhost:9292/api/application/
|
19
21
|
:licensefile: settings/license.key
|
File without changes
|
File without changes
|
@@ -0,0 +1,99 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
$LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__),'..','lib'))
|
5
|
+
require 'bench'
|
6
|
+
|
7
|
+
def process_results
|
8
|
+
finished_data = Bench.get_server_state("bench_statistics_data")
|
9
|
+
finished_data.each do |session,session_data|
|
10
|
+
puts "Client data for #{session} : startTime (#{session_data['start_time']}), endTime (#{session_data['end_time']})"
|
11
|
+
@total_count += session_data['count'].to_i
|
12
|
+
@start_time = session_data['start_time'].to_f unless @start_time > 0.0 and session_data['start_time'].to_f >= @start_time
|
13
|
+
@end_time = session_data['end_time'].to_f unless session_data['end_time'].to_f <= @end_time
|
14
|
+
if not session_data['times'].nil?
|
15
|
+
times_data = session_data['times'].split(',')
|
16
|
+
@times_count += times_data.size
|
17
|
+
times_data.each do |timevalue|
|
18
|
+
@times_sum += timevalue.to_f
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def average_time
|
25
|
+
@times_count > 0 ? @times_sum/@times_count : 0.0
|
26
|
+
end
|
27
|
+
|
28
|
+
def save_results
|
29
|
+
return if Bench.result_filename.nil?
|
30
|
+
|
31
|
+
res_hash = YAML.load_file(Bench.result_filename) if File.exist?(Bench.result_filename)
|
32
|
+
res_hash ||= {}
|
33
|
+
puts "Overall results are : startTime (#{@start_time.to_s}), endTime (#{@end_time.to_s}), count (#{@total_count.to_s}), payload (#{Bench.datasize}), concurrency (#{Bench.concurrency})"
|
34
|
+
res_hash[Bench.concurrency.to_s] = (@end_time > 0.0 and @start_time > 0.0) ? [@total_count/(@end_time - @start_time)] : [0.0]
|
35
|
+
res_hash[Bench.concurrency.to_s] << average_time
|
36
|
+
File.open(Bench.result_filename, 'w' ) do |file|
|
37
|
+
file.write res_hash.to_yaml unless res_hash.empty?
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# 1) Extract Bench title and key
|
42
|
+
sync_key = ARGV[0]
|
43
|
+
|
44
|
+
# 2) Simulate the payload
|
45
|
+
Bench.datasize = ARGV[1].to_i
|
46
|
+
@expected = Bench.get_test_data(Bench.datasize)
|
47
|
+
Bench.concurrency = ARGV[2].to_i
|
48
|
+
|
49
|
+
# 3) extract result filename
|
50
|
+
Bench.result_filename = ARGV[3] unless ARGV[3].nil?
|
51
|
+
|
52
|
+
# 4) Extract server name
|
53
|
+
server = ARGV[4] unless ARGV[4].nil?
|
54
|
+
server ||= 'default'
|
55
|
+
if server != 'default'
|
56
|
+
Bench.base_url = server
|
57
|
+
end
|
58
|
+
|
59
|
+
# 5) Set up the server
|
60
|
+
Bench.admin_login = 'rhoadmin'
|
61
|
+
Bench.admin_password = ''
|
62
|
+
Bench.get_test_server
|
63
|
+
Bench.reset_app
|
64
|
+
Bench.user_name = "benchuser"
|
65
|
+
Bench.password = "password"
|
66
|
+
Bench.set_server_state("test_db_storage:application:#{Bench.user_name}",@expected)
|
67
|
+
Bench.reset_refresh_time('MockAdapter')
|
68
|
+
|
69
|
+
#6) set the sync key
|
70
|
+
@start_time = Time.now + 5.0
|
71
|
+
Bench.set_server_state(sync_key, @start_time.to_f.to_s)
|
72
|
+
puts "Sync Key #{sync_key} is set to #{@start_time} - Please, start the clients now!!!"
|
73
|
+
|
74
|
+
#7) wait until all distributed clients are finished
|
75
|
+
while true
|
76
|
+
sleep(1)
|
77
|
+
stats_data = Bench.get_server_state("bench_statistics_data")
|
78
|
+
if (not stats_data.nil?) and stats_data.size == Bench.concurrency
|
79
|
+
break
|
80
|
+
end
|
81
|
+
puts " Waiting for the clients to finish : #{Bench.concurrency - stats_data.size} out of #{Bench.concurrency}"
|
82
|
+
end
|
83
|
+
|
84
|
+
# 8) Now, save all data to the disk
|
85
|
+
begin
|
86
|
+
sleep(1)
|
87
|
+
@total_count = 0
|
88
|
+
@start_time = 0.0
|
89
|
+
@end_time = 0.0
|
90
|
+
@times_sum = 0.0
|
91
|
+
@times_count = 0
|
92
|
+
process_results
|
93
|
+
save_results
|
94
|
+
rescue Exception => e
|
95
|
+
puts e
|
96
|
+
end
|
97
|
+
|
98
|
+
#8) Clean-up the db
|
99
|
+
Bench.reset_app
|
@@ -0,0 +1,12 @@
|
|
1
|
+
#! /bin/sh
|
2
|
+
test_label=$1
|
3
|
+
server=$2
|
4
|
+
n_iterations=$3
|
5
|
+
payload=$4
|
6
|
+
|
7
|
+
RACK_ENV=production
|
8
|
+
export RACK_ENV
|
9
|
+
|
10
|
+
sync_key="${test_label}_$payload"
|
11
|
+
n_threads=1
|
12
|
+
ruby distr_bench start '../scripts/test_query_script.rb' 'rhoadmin' '' $server $sync_key $n_threads $n_iterations $payload
|
@@ -0,0 +1,50 @@
|
|
1
|
+
#! /bin/sh
|
2
|
+
|
3
|
+
timestamp_postfix=$(date +%Y_%m_%d_%H%M%S)
|
4
|
+
test_label=query_bench_$timestamp_postfix
|
5
|
+
|
6
|
+
if [ $# -gt 0 ] ; then
|
7
|
+
test_label=$1
|
8
|
+
fi
|
9
|
+
server='default'
|
10
|
+
if [ $# -gt 1 ] ; then
|
11
|
+
server=$2
|
12
|
+
fi
|
13
|
+
|
14
|
+
clients[0]=ec2-50-17-151-136.compute-1.amazonaws.com
|
15
|
+
clients[1]=ec2-107-22-43-25.compute-1.amazonaws.com
|
16
|
+
clients[2]=ec2-75-101-174-0.compute-1.amazonaws.com
|
17
|
+
clients[3]=ec2-50-16-87-55.compute-1.amazonaws.com
|
18
|
+
clients[4]=ec2-107-22-48-222.compute-1.amazonaws.com
|
19
|
+
clients[5]=ec2-107-22-61-93.compute-1.amazonaws.com
|
20
|
+
clients[6]=ec2-107-22-53-145.compute-1.amazonaws.com
|
21
|
+
clients[7]=ec2-50-17-152-123.compute-1.amazonaws.com
|
22
|
+
clients[8]=ec2-50-17-155-181.compute-1.amazonaws.com
|
23
|
+
clients[9]=ec2-75-101-225-80.compute-1.amazonaws.com
|
24
|
+
|
25
|
+
n_iterations=100
|
26
|
+
current_path=`pwd`
|
27
|
+
|
28
|
+
# setup the benchmark directory structure
|
29
|
+
ruby ../prepare_bench "$test_label" query_bench_$timestamp_postfix "1 2 3 5 10"
|
30
|
+
|
31
|
+
# simulate variaous number of data records
|
32
|
+
for n_clients in 1 2 3 5 10
|
33
|
+
do
|
34
|
+
for payload in 1 5 10 50 100 250 500
|
35
|
+
do
|
36
|
+
result_filename=./bench_results/query_bench_$timestamp_postfix/raw_data/query_bench_result.$payload
|
37
|
+
sync_key=sync_${timestamp_postfix}
|
38
|
+
for (( i = 0 ; i < $n_clients; i++ ))
|
39
|
+
do
|
40
|
+
ssh -i /tmp/EC2-inst.pem -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ec2-user@${clients[$i]} "cd /opt/rhoconnect/bench/distr_bench; ./run_distr_client.sh $sync_key $server $n_iterations $payload 1>/dev/null" &
|
41
|
+
done
|
42
|
+
|
43
|
+
# start main script
|
44
|
+
ruby distr_bench_main ${sync_key}_$payload $payload $n_clients $result_filename $server
|
45
|
+
sleep 5
|
46
|
+
done
|
47
|
+
done
|
48
|
+
|
49
|
+
# once benchmark is finished - process the results
|
50
|
+
ruby ../lib/bench/bench_result_processor.rb ./bench_results/query_bench_$timestamp_postfix/raw_data ./bench_results/query_bench_$timestamp_postfix/images
|