Has anyone done any speed testing of IIRF? The mothership says "reasonably fast", but I'm wondering exactly what kind of penalty it incurs.
Surely someone has done at least rudimentary testing. What did you find?
I'm looking to roll this out to a production machine, but before I do, I want to know what I'm getting into...
Ok folks. Since I couldn't find any speed reports, and didn't get a response here for a few days, I decided to run my own tests and share them here.
The test was far from thorough, but hopefully it's at least representative of what IIRF can do.
To limit the variables, I ran my test on a local network instead of over the Internet. Here was the setup:
- Server: Pentium III, 800Mhz 512Mb RAM
- OS: Windows Small Business Server 2003
- Network: Client connects to Server over 802.11g
The goal of the rewrite is to take URLs like this:
...and rewrite them like...
Here is the INI file used:
RewriteRule ^/[c|p|s][A-Z0-9\-]+/([\w\-\%]+)\.(gif|jpg|png|css|js|ico)$ /$1.$2 [I,L]
RewriteRule ^/c[A-Z0-9\-]+p[A-Z0-9\-]+/([\w\-\%]+)\.(gif|jpg|png|css|js|ico)$ /$1.$2 [I,L]
RewriteRule ^/c([A-Z0-9\-]+)p([A-Z0-9\-]+)/[\w\-\%]+$ /Product.asp?prodcode=$2&catcode=$1 [I,L]
RewriteRule ^/p([A-Z0-9\-]+)/[\w\-\%]+$ /Product.asp?prodcode=$1 [I,L]
RewriteRule ^/c([A-Z0-9\-]+)/[\w\-\%]+$ /Category.asp?catcode=$1 [I,L]
RewriteRule ^/s([A-Z0-9\-]+)/[\w\-\%]+$ /Screen.asp?screen=$1 [I,L]
rewrites happening, not just one.
To get the best sample set, I made 1,000 requests with IIRF installed and the call going to the rewritten URL, and 1,000 requests with IIRF not installed and the current URL. When I ran less than 1000 requests (100 or just 10), there was such a small time difference
that it wasn't really measurable in seconds, so I had to go higher. 1,000 was a nice round number.
To further rule out random things from skewing the results, I ran the test 5 times and measured the results as a total. 5,000 with IIRF versus 5,000 without.
Run 1: 259 seconds
Run 2: 249 seconds
Run 3: 255 seconds
Run 4: 258 seconds
Run 5: 261 seconds
Total: 1,282 seconds
Avg: 256.4 seconds
Run 1: 256 seconds
Run 2: 262 seconds
Run 3: 269 seconds
Run 4: 269 seconds
Run 5: 265 seconds
Total: 1,321 seconds
Avg: 264.2 seconds
IIRF Cost: 3.04%
There you have it. IIRF adds about 3% to the processing time for a large number of requests.