Frequently Asked Questions
IIS WebSpeed will check back at the expiry time by default (which can be shortened or lengthened through configuration), which is when IIS WebSpeed will notice any changes.
One way to work around this, is by configuring LoadFromFile.
Using LoadFromFile allows IIS WebSpeed to detect and reprocess files immediately after they are updated, and has other benefits as well.
Why aren't my resources combined, optimized, etc?
By default, IIS imposes thight limits on urls for security reasons. A drawback of this, is that IIS WebSpeed is limited on the length of urls it can generate when combining resources. The default URL length allowed in IIS7.5 is 260. Adding the following key to the registry:
\UrlSegmentMaxLength with a value of for example 750. Combined with increasing MaxUrlSegmentLength in the root iispeed.config file, this allows IIS WebSpeed to generate longer urls. That has the benefit of being able to combine more assets into a single request.
Note that the registry change only takes effect after the HTTP service is restarted (not part of IIS) using "net stop http" and then "net start http", followed by starting IIS again.
Wy do I get a partially optimized response on the first request
This is by design - IIS WebSpeed works under a tight deadline when rewriting html, and will send a partially optimized or unoptimized response when it would take too long to wait for optimizations to complete. By default IIS WebSpeed will wait for 50 ms. After a few refreshes, optimizations should be cached and ready, and you will get a fully optimized response. The deadline can be changed using RewriteDeadlinePerFlushMs value_in_milliseconds, where a value equal to or smaller then 0 will cause IIS WebSpeed to wait indefinitely until completion.
Also, IIS WebSpeed will usually only optimize cacheable assets (css/js/images), so make sure your expiration headers are set.
What is the CPU overhead of IIS WebSpeed?
Short answer: the typical overhead is 10 ms per optimized html request.
Google's PageSpeed team is currently actively working on two fronts related to this:
- There are optimization opportunities to speed up the html parser
- Allowing the optimized html to be cacheable
A more in-depth discussion can be found here
Can I remove X-IISpeed / X-Page-Speed from the response headers?
We don't recommend doing so, because these headers are used internally to avoid fetching loops.
Why are rewritten pages sending POSTs back to my server?
Certain filters need to determine things about the page: in particular, the
inline_images filters need to determine which images are above the fold, and the
prioritize_critical_css filter needs to determine the CSS actually used by the page.
/pagespeed_beacon but that can be changed using the
How do I purge PageSpeed's Cache?
See the Purge documentation for clearing PageSpeed's Cache. Clearing the filesystem cache directory manually will not work.
Server errors after installing / configuring IIS WebSpeed
Any server errors after setting up IIS WebSpeed are usually due to permission problems. Make sure that IIS is able to read and execute the iispeedmodule.dll files, and any configured FileCachePath's should be read/writeable by the relevant application pools that are servicing the websites that have IIS WebSpeed enabled.
Plesk: after installing IIS WebSpeed plesk sites won't work or give an error.
See the entry about permissions above. Pleks will periodically enforce and change permissions. Read how to install IIS WebSpeed on a plesk server.
Question not listed?
If your question is not listed here, please check Google's FAQ