Anyone done Rules performance checks?

Events happening in the community are now at Drupal community events on www.drupal.org.
itangalo's picture

Ok, I've been using the Rules module enough to know that I really* like it, but I still consider myself at the playing-around level.
Why? Because I can't yet use Rules on a production site. It's cool, inspiring and really useful, but I don't know if my site will choke when Rules gets hit by 1000 visitors in one minute or what happens when I get a crazy amount of nodes.

So, I'm curious: Has anyone made performance checks on some rules?
It would be really interesting to see how Rules manages to do tasks, compared to small modules doing just the same thing. (Say, setting default CCK values or titles, redirecting users, et cetera.)

If someone has done performance checks on Rules combinded with VBO I'd be particularly interested in that.

So, anyone?
//Johan Falk, NodeOne, Sweden

(*) I dare say that Rules is in the same league as Views. Just for the record.

Comments

I have 22000+ unique users

off's picture

I have 22000+ unique users per day, 210000+ nodes and 2000000+ comments

Actively I use the module and has not noticed any problems caused by this module

Can you describe the system

caschbre's picture

Can you describe the system you're running it on? A shared environment may not hold up quite the same as a performance tuned set of servers, etc.

1x Core Quad 6600 + 4Gb RAM +

off's picture

1x Core Quad 6600 + 4Gb RAM + SATA

Some modules are much more resource consumption. Simply put, I did not notice appreciable load on the inclusion rules, after posting every comment and many other rules..

How many rules in your site?

chi's picture

What kind of events and actions are you using?

I think it depends on the

barckhoff's picture

I think it depends on the action being performed...

I've used rules to trigger emails to users of certain roles and it seems to work for up to about 3 users, but when I tried emailing to a role with 10 or more users, it wouldn't send the email to all the users (or any of them? I can't remember now...).

Thanks for the feedback!

itangalo's picture

Many thanks for the feedback! It's really appreciated.
Sooner or later I/we will have reason to do formal performance checks on Rules, to compare the effects invoking actions from Rules compared to other methods (probably custom mini-modules).

It won't be a part of the project I'm currently involved in, but I'll make sure to post the results when it's done.

Cheers,
//Johan Falk, NodeOne, Sweden

Rules itself is written with

fago's picture

Rules itself is written with performance in mind, thus the system retrieves the rules from cache and evaluates them without the need for any additional db queries or such. So the performance impact of Rules mostly depends on which rules one configures. Of course running big VBO tasks programmatically on each page load will impact your sites performance ;)

I'd be interested in performance comparisons of Rules vs. real-modules though. Compared to real modules there is of course some overhead on the PHP side (for invoking the Rule engine), but there might be also some advantages as aggregated saves or intelligent evaluation as the rules optimisation project implements.

Sub +1. Would love to see the

gilzero's picture

Sub +1. Would love to see the formal performance test.

^

ayesh's picture

I'm very curious about this performance thing, and have done some odd performance test.
Few weeks ago, I had to replace core node-save-message with a configurable one. I made a small module to unset core message and a Rules to display the message. I did the same thing using Rules after some time because things went advanced to use Rules instead of hundreds of small modules.

I did the test few minutes ago with Rules disabled and the custom module enabled. Devel shut down memory usage after saving node (on localhost)
Before.
- 6.09
- 6.02
- 6.03
- 6.54
- 6.29

After enabling Rules and disabling custom module
- 6.88
- 6.30
- 6.04
- 6.23
- 6.84

Both ways, displays a message if node type matches a particular node type user has admin role.

Not a industry-level test - just to get some sense if invoking Rules engine will make much difference.

Those values are ... seconds,

Gabriel R.'s picture

Those values are ... seconds, milliseconds?
Thanks for sharing.

MB

itangalo's picture

Probably megabytes of PHP memory usage.

Rules

Group organizers

Group categories

Categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: