views:

177

answers:

2

I am building a small web application that primarily needs to serve up protected static content -- some flash (.swf) files > 20MB -- from an application server (Websphere) that is front ended by a web server (Apache). Are there there any Websphere configuration settings that I should consider to optimized throughput?

+2  A: 
  • use the browser cache. Set the Expires header to a date in the distant future, for example. PageSpeed performance best practices. This will mean the static content is downloaded only once per user.
  • don't make such big files. Load the relevant data on demand. I.e. download a small swf, and then, when requested by the user, download other 'movies'. On how to achieve this, you should ask Flash experts.
Bozho
thanks, good client side considerations. Do you know if performance would improve by increasing the buffersize in websphere?
Bill Griffith
@Bill Griffith depending on how you have configured the link between apache and websphere, static content might be automatically served by apache. But I don't know more details on this.
Bozho
A: 

Here is some interesting information about optimizing the serving of static pages:
There are many ways to serve static files as part of your WebSphere application.
1. WebSphere can be used as your Web server, so users connect directly to WebSphere and it serves static and dynamic pages.
2. Alternatively, you can configure an IHS instance, which will be used as your Web server and then forward the static and dynamic requests to WebSphere through WebSphere's Web server plug-in.
3. Another option is to serve the static files directly with IHS, forwarding only the dynamic pages to be handled by WebSphere.

Option #2 may be a better choice for many applications, especially those that are updated frequently, (since static files from the WAR file must be recopied to the IHS directory), or if the static content needs to be protected. In order to optimize performance, the WebSphere Web-server plug-in has a feature called the Edge Side Include (ESI) cache, and is configured through the plugin-cfg.xml file. The ESI processor has the ability to cache whole pages, as well as fragments, providing a higher cache hit ratio. The cache implemented by the ESI processor is an in-memory cache, not a disk cache, therefore, the cache entries are not saved when the Web server is restarted.

Further reading: http://www.ibmsystemsmag.com/ibmi/april05/tipstechniques/14821p2.aspx

Bill Griffith