background-benchmarks
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Delayed Job vs Resque Shootout
== Background Benchmarks

I wanted to see the performance of Delayed Job w/ Postgres ActiveRecord backend vs Resque backed with Redis.

There are three branches in the project.

== To test Delayed Job:

    $ git checkout delayed-job
    $ rake jobs:work
    $ rails c
    $ >> TestRunner.run(DJ, 10000)

== To test Resque:

    $ git checkout resque
    $ QUEUE=* rake environment resque:work
    $ rails c
    $ >> TestRunner.run(RQ, 10000)

== To test Resque with the Resque Jobs Per Fork plugin:

    $ git checkout resque-jobs-per-fork
    $ QUEUE=* JOBS_PER_FORK=5 rake environment resque:work
    $ rails c
    $ >> TestRunner.run(RQ, 10000)


== Read Your Results

Look at your logs, and find the "Starting" entry
There will be a corresponding "Stopping" entry at the end

Take the difference of the two timestamps, and divide 10000 / (stopping - starting)

And you will have the jobs/s rate of whatever backend you are using.

== My Results

In my tests,

- Delayed Job processed: 169 jobs/s
- Resque processed: 113 jobs/s.
- Resque w/ resque-jobs-per-fork plugin @ 5 jobs per fork: 290 jobs/s 
- Resque w/ resque-jobs-per-fork plugin @ 100 jobs per fork: 609 jobs/s

== Todo:

- Test multiple workers on each backend.
- Test reading/writing to the database during the test
- Test reading/writing to Redis during the test
- Analyze memory usage

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。