ISAPI_Rewrite performance degradation and errors

ISAPI_Rewrite is a powerful URL manipulation engine based on regular expressions
User avatar
Posts: 2
Joined: 29 May 2013, 16:15

ISAPI_Rewrite performance degradation and errors

29 May 2013, 16:26

Hi All,
We are running a website that gets tens-of-thousands of visits a day. ISAPI Rewrite has held up great for us for years, so great job HeliconTech!

However, over time, our HTTPD.ini file has grown to thousands of lines. We've also noticed a growth over time in:
1. The amount of CPU time spent at the worker process level
2. An increase in the frequency of queue timeout errors (especially when we make live changes to the file)

I've tried adjusted the few settings provided through the configuration tool, experimenting with conservative settings and more aggressive settings without much impact on either of the above items.

What I'm wondering is if the size of the httpd.ini file is having an impact on or one or both of the above problems.

It seems to me that the larger the file, the more CPU time required to process requests, so logically that adds up for me. Is there a way to roughly determine that the httpd.ini file has too many rules? Can anyone confirm from their experience that the size of the file has had some kind of impact?

FYI: our httpd.ini file is ~21k lines (with comments) and approximately 1200kb in physical size.

Happy to provide any other information that may help, so just let me know.

Thanks

User avatar
Posts: 19
Joined: 21 Mar 2012, 06:22

Re: ISAPI_Rewrite performance degradation and errors

29 May 2013, 17:32

1) Your httpd.ini is really huge. Usually we do not recommend to have more than hundred rules in a single file.
ISAPI_Rewrite process all rules one-after-another. So, a request processing time linearly depends on a number of rules.
If you are using ISAPI_Rewrite to create one-to-one mapping between URIs then consider using the maps functionality. It could seriously reduce the number of rules (and therefore processing time).
2) Most probably queue timeout errors are not related to the httpd.ini size. These errors come from the proxy and that usually means that the proxied server is not able to handle all requests in time. Although, in theory it is also possible to get such errors in a case when your web server is overloaded.

User avatar
Posts: 2
Joined: 29 May 2013, 16:15

Re: ISAPI_Rewrite performance degradation and errors

29 May 2013, 18:15

Thanks for the quick reply. Can you think of any reason why changing httpd.ini would cause Queue Timeouts? There definitely is a strong correlation between the two for us. We never get queue timeouts except when we edit the httpd.ini file...it doesn't happen on every edit but this is the only time we see ISAPI Rewrite overrun our Event Log and stall out our server (Windows 2003 R2, 16GB RAM, 16 core proc) forcing us to physically restart our server.

User avatar
Posts: 19
Joined: 21 Mar 2012, 06:22

Re: ISAPI_Rewrite performance degradation and errors

31 May 2013, 14:56

After a change ISAPI_Rewrite reloads the ini file and "recompiles" all rules. If there are a lot of rules this process could cause significant delay. But that should not lead to a stall anyway.
BTW, what build are you using?

Return to ISAPI_Rewrite 2.x

Who is online

Users browsing this forum: No registered users and 1 guest