mwrock / RequestReduce

Instantly makes your .net website faster by reducing the number and size of requests with almost no effort.
www.requestreduce.org
Apache License 2.0
228 stars 49 forks source link

RequestReduce

RequestReduce Makes your website faster - sometimes much faster - with almost no effort

Getting started

  1. If you have [Nuget] (http://docs.nuget.org/docs/start-here/installing-nuget), simply enter Install-Package RequestReduce in the Package Manager Console and skip steps two and three, otherwise download the latest RequestReduce version [here] (http://www.requestreduce.com/)
  2. Extract the contents of the downloaded zip and copy RequestReduce.dll and optipng.exe to your website's bin directory
  3. If you want to sync multiple servers with SqlServer copy te DLLs in RequestReduce.SqlServer to your bin directory
  4. If you have Less, Sass or Coffee scripts, copy the DLLs from RequestReduce.SassLessCoffee to your bin to compile these to CSS and Javascript
  5. Add the RequestReduceModule to your web.config or using the IIS GUI.

Assuming you are using IIS 7, you would add it by ensuring that your web.config's system.webServer/modules element contains an add element as follows:

<system.web>
  <httpModules>
    <add name="RequestReduce" type="RequestReduce.Module.RequestReduceModule, RequestReduce" />
  </httpModules>
</system.web>
<system.webServer>
  <validation validateIntegratedModeConfiguration="false"/>  
    <modules>
      <add name="RequestReduce" type="RequestReduce.Module.RequestReduceModule, RequestReduce" />
    </modules>
</system.webServer>

All background images you want to sprite [must have an explicit width in their css class] (http://github.com/mwrock/RequestReduce/wiki/Can-I-make-changes-to-my-CSS-classes-to-optimize-RequestReduce-spriting%3F). Otherwise RequestReduce cannot guarantee that the background positions it injects will not cause adjacent sprites to bleed into a background image's view port. Also, RequestReduce will ignore repeating images so make sure to mark the image no-repeat if it is not a repeating image.

Troubleshooting

If RequestReduce does not appear to be doing anything, check out this [troubleshooting wiki] (https://github.com/mwrock/RequestReduce/wiki/RequestReduce-is-not-working.-I-don%27t-see-any-spriting-or-minification.-How-can-I-troubleshoot-this%3F) which provides several scenarios, options and debugging tips for figuring out why your content may not be being reduced. Also check the [list of wiki support pages] (https://github.com/mwrock/RequestReduce/wiki) which provides documentation addressing several topics to help you optimize RequestReduce and explain how RequestReduce works.

Requirements

What's Next?

There are a ton of features I intend to add in order to make web performance optimizations just happen as part of installing Request Reduce. Here is what's at the top of the backlog:

Resources

Acknowledgements

RequestReduce uses the following excellent OSS and other Free projects:

RequestReduce Core

RequestReduce.SqlServer

RequestReduce.SassLessCoffee

RequestReduce Internal Code (testing and building)

License

Licenced under [Apache 2.0] (http://www.apache.org/licenses/LICENSE-2.0)