dominoExperts.com - Powered by Domino 8.5.2 Domino Accelerator Pack
- DAP know which URLs slow down your site. Do you?
Lotus Triple Search DominoExperts + Blogs + R8 forum
dominoExperts.com -> Domino Accelerator Pack

 Introducing Domino Accelerator Pack - DAP


Tomas NielsenPost date: 2008-10-27 12:42

Having run beta tests for almost three months here on dominoExperts and other pre-beta testers it is now time to do the final public beta.

Read more: http://www.dominoExperts.com/dapInfo

Domino Accelerator Pack is a DSAPI filter that GZip's and caches Domino content making your Web applications perform faster and transmit faster over the network.

DAP works as a DSAPI filter that sits between the HTTP stack and the Domino server engine. It will cache and compress content going out from the server - reducing server load and reducing bandwith usage. Standard HTTP/1.1 caching headers are used to set up the caching and compression rules.


Cached content will be delivered directly from memory without Domino having to render the content again. The GZip compression will reduce Domino web pages with 70-75% depending on content type.

DAP keeps a GZip-cache of recently compressed content saving CPU time when the compression engine does not have to work all the time.
DAP uses a "Smart Cache" that will try to cache content Domino see as un-cacheable. This avoids retransmissions of entire pages that has not changed.


Joacim BoivePost date: 2008-12-05 21:41

Great work Thomas!

I would also like to see a function to merge files before sending them, perhaps when you place them in the cache? I've written a very simple LS agent to achieve just this and even with that overhead you'll get massive improvements early.

Also you could have a look at YUI Compressor to minify and obfuscate you JS libs and minify your CSS on the fly.

 

I'm currently writing a series for The View on this subject: "Writing efficient, effective Web code for Domino". I can't give away my final findings, since the final part isn't published yet, but it's in your ballpark just changing the way you code. Imaging putting DAP on top of that! Oh my! :)

Anyway, it's definately worth using YUI Compressor before you GZIP. You can reduce the filesize by another 10-20%, check out YUI here: http://developer.yahoo.com/yui/compressor/

Have a look at my articles here:

The View - Writing efficient, effective Web code for Domino

 Not all parts published yet, the most revelaing ones are yet to come. ;)

 

Anywho, I had to download DAP and I'm going to give it a go to see how it performs. I've used JMeter (http://jakarta.apache.org/jmeter/) to determine how  my example application matures in my series. Will be very interesting to see what DAP will contribute.

Keep up the great work!

 

/Jocke


Tomas NielsenPost date: 2008-12-08 13:20

Thanks Joacim!

Merging files does give good results. I do not see an easy way of doing it in DAP at the moment. I believe I would get problems with dead-lock scenarios.

I am looking into JavaScript compression. Will see where we get with that. 

A good comparison is available here: http://compressorrater.thruhere.net/

At the moment I have no access to the view. Would have been a great read I am sure. I will try to renew our subscription.


Tomas NielsenPost date: 2008-12-09 23:28

I have added Douglas Crockford's JSMin algorithm to DAP now. (http://www.crockford.com/javascript/jsmin.html)

It is running on this site as a DAP 1.04 Beta.

In short the JSMin algorithm removes comments and white space from your JavaScripts. It is very simple and conservative, it will not rename any variables or any fancy stuff but is robust and reliable.

It will take down JavaScript (and CSS) another 10-15% when combined with GZip. At the moment I will let the user activate it with a http-header as I suspect there could be issues as it is not lossless as GZip. But I have not seen anything weird with any JavaScript so far.

It does really bring down the size, at the moment DAP is averaging 79% overall compression on this site!!!


Fredrik StöckelPost date: 2008-12-11 10:17

Nice work Tomas!, careful packaging of the output should be done automatically the fly!  (To much work, to little gain, when doing it manually, at least if gzip is available imho).
Will try to upgrade some of the servers running DAP…

 

 

 

 


Tomas NielsenPost date: 2008-12-11 14:49

Thanks Fredrik, I will upload the 1.04 tonight.

I discovered that JSMin was a bit too aggressive for some CSS situations. Example:

border-right:1px solid #cccccc;

Would compress to:

border-right:1px solid#cccccc;

Causing the border color to be truncated in IE browsers (Firefox had no problems). So I have changed the JS Min formula slightly to prevent this. Better to be on the safe side.


Fredrik StöckelPost date: 2008-12-11 14:57

I have experienced the same. Compressing content isn't always 100% bullet-proof for all files (depending on developers coding-style and so on)... ex lack of closing ";" in certain situations etc.

You can't really trust that all js/css files are 100% correct and that they pass compressing without problem. But It might be worth it if you manage to sort it out :)




RSS feed
Subscribe to Forum

Share this page

Top posters
Tomas Nielsen212
Joacim Boive27
Fredrik Stöckel27
Danne14
Niklas Waller13
Kenneth Haggman11
Bryan Kuhn10
Daniel Lehtihet9
Jonas Israelsson8
dm997