From 1598b2491544188123f33ad9bc7f9fbc59cb27d8 Mon Sep 17 00:00:00 2001 From: Mike Perham <mperham@gmail.com> Date: Thu, 19 Nov 2015 09:41:42 -0800 Subject: [PATCH 1/6] bump --- Ent-Changes.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Ent-Changes.md b/Ent-Changes.md index 8845776e..5b67cc51 100644 --- a/Ent-Changes.md +++ b/Ent-Changes.md @@ -3,7 +3,13 @@ Sidekiq Enterprise Changelog Please see [http://sidekiq.org/](http://sidekiq.org/) for more details and how to buy. -1.0.0.pre1 +1.0.1 +---------- + +- Fix crash in periodic subsystem when a follower shuts down, thanks + to @justinko for reporting. + +1.0.0 ---------- - Enterprise 1.x targets Sidekiq 4.x. From 3fdc51f8e34c4cb9046994810c4b13bae9cedfc3 Mon Sep 17 00:00:00 2001 From: Mike Perham <mperham@gmail.com> Date: Fri, 20 Nov 2015 16:03:35 -0800 Subject: [PATCH 2/6] Add table to readme --- README.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0e1b0b4d..c1b255f0 100644 --- a/README.md +++ b/README.md @@ -18,21 +18,26 @@ message format as Resque so it can integrate into an existing Resque processing You can have Sidekiq and Resque run side-by-side at the same time and use the Resque client to enqueue jobs in Redis to be processed by Sidekiq. -At the same time, Sidekiq uses multithreading so it is much more memory efficient than -Resque (which forks a new process for every job). You'll find that you might need -10 200MB resque processes to peg your CPU whereas one 300MB Sidekiq process will peg -the same CPU and perform the same amount of work. +Sidekiq is extremely fast. + +Version | Latency | Garbage created when processing 10,000 jobs | Time to process 100,000 jobs | Throughput +-----------------|------|---------|---------|------------------------ +Sidekiq 4.0.0 | 10ms | 151 MB | 22 sec | **4500 jobs/sec** +Sidekiq 3.5.1 | 22ms | 1257 MB | 125 sec | 800 jobs/sec +Resque 1.25.2 | - | - | 420 sec | 240 jobs/sec +DelayedJob 4.1.1 | - | - | 465 sec | 215 jobs/sec Requirements ----------------- -I test with the latest MRI (2.2, 2.1 and 2.0) and JRuby versions (1.7). Other versions/VMs -are untested but might work fine. MRI 1.9 is no longer supported. +I test with the latest CRuby (2.2, 2.1 and 2.0) and JRuby versions (9k). Other versions/VMs +are untested but might work fine. CRuby 1.9 is not supported. -All Rails releases starting from 3.2 are officially supported. +All Rails releases from 3.2 are officially supported. -Redis 2.8 or greater is required. +Redis 2.8 or greater is required. 3.0.3+ is recommended for large +installations with thousands of worker threads. Installation From a7d17f97940c1dfa975db49b33b09b2551d58e72 Mon Sep 17 00:00:00 2001 From: Mike Perham <mperham@gmail.com> Date: Fri, 20 Nov 2015 16:04:52 -0800 Subject: [PATCH 3/6] tune --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1b255f0..95a7c1fd 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ use the Resque client to enqueue jobs in Redis to be processed by Sidekiq. Sidekiq is extremely fast. -Version | Latency | Garbage created when processing 10,000 jobs | Time to process 100,000 jobs | Throughput +Version | Latency | Garbage created for 10,000 jobs | Time to process 100,000 jobs | Throughput -----------------|------|---------|---------|------------------------ Sidekiq 4.0.0 | 10ms | 151 MB | 22 sec | **4500 jobs/sec** Sidekiq 3.5.1 | 22ms | 1257 MB | 125 sec | 800 jobs/sec From f1c127a332410dad5f319c823b0eea212b202c74 Mon Sep 17 00:00:00 2001 From: Mike Perham <mperham@gmail.com> Date: Fri, 20 Nov 2015 16:07:48 -0800 Subject: [PATCH 4/6] enough hyperbole sir --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95a7c1fd..d962e40b 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ message format as Resque so it can integrate into an existing Resque processing You can have Sidekiq and Resque run side-by-side at the same time and use the Resque client to enqueue jobs in Redis to be processed by Sidekiq. -Sidekiq is extremely fast. +Sidekiq is fast. Version | Latency | Garbage created for 10,000 jobs | Time to process 100,000 jobs | Throughput -----------------|------|---------|---------|------------------------ From 847438bd68a1cda295426dbf087037d03549068a Mon Sep 17 00:00:00 2001 From: Mike Perham <mperham@gmail.com> Date: Mon, 23 Nov 2015 09:35:20 -0800 Subject: [PATCH 5/6] Add namespace for 4.0 --- myapp/Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/myapp/Gemfile b/myapp/Gemfile index 5fd5ca97..7e2dee97 100644 --- a/myapp/Gemfile +++ b/myapp/Gemfile @@ -2,6 +2,7 @@ source 'https://rubygems.org' platforms :ruby do gem 'sqlite3' + gem 'redis-namespace' end platforms :jruby do From d9776cd33051de2ad0990b1cdbd76a931f38ec45 Mon Sep 17 00:00:00 2001 From: Mike Perham <mperham@gmail.com> Date: Mon, 23 Nov 2015 09:39:14 -0800 Subject: [PATCH 6/6] Push a job to fill queue so we can delete it in UI --- myapp/simple.ru | 2 ++ 1 file changed, 2 insertions(+) diff --git a/myapp/simple.ru b/myapp/simple.ru index 51bc5f60..b7e1958a 100644 --- a/myapp/simple.ru +++ b/myapp/simple.ru @@ -8,5 +8,7 @@ Sidekiq.configure_client do |config| config.redis = { url: 'redis://localhost:6379/0', size: 1, namespace: 'foo' } end +Sidekiq::Client.push('class' => "HardWorker", 'args' => []) + require 'sidekiq/web' run Sidekiq::Web