I’ve applied a sub-set of the Portal tuning guide to my development VM, with a marked improvement in performance.
First, I moved to DB2 from Derby. If you’re doing any work at all with WCM then this is well worth doing. I also set the following:
After database transfer, and after installing CTC, I ran the reorg scripts as indicated in the tuning guide:
db2 -x -r "runstats.db2" "select rtrim(concat('runstats on table ',concat(rtrim(tabSchema),concat('.',concat(rtrim(tabname),' on all columns with distribution on all columns and sampled detailed indexes all allow write access'))))) from syscat.tables where type='T'"
db2 -v -f "runstats.db2"
DB2 log file size properties
- LOGFILESIZ – 16000
- LOGPRIMARY – 16
On WebSphere I made a number of minor tweaks that seem to have had a positive effect. I made changes in two places in the ISC:
Application servers > WebSphere_Portal > Process definition > Java Virtual Machine
First, I changed some settings on the JVM here:
- Maximum heap size – 1500MB
MinimumInitial heap size – 1500MB
Added this to the Generic JVM Arguments field – be careful cutting and pasting from the tuning guide as the dash in the PDF is not a hyphen and the JVM will fail to start.
-Xmn512m -Xscmx150m -Xjit:iprofilerMemoryConsumptionLimit=67108864
These settings are all described in the tuning guide, linked to above. After setting these values, you need to stop the portal server and run the following:
<AppServer root>/java/bin/java -Xshareclasses:name=webspherev80_root,groupAccess,destroy
Application servers > WebSphere_Portal > Transaction service
I also set transaction timeouts to facilitate handling of large libraries:
- Total transaction lifetime timeout: 420s
- Maximum transaction timeout: 420s
IBM HTTP Server
I also installed IBM HTTP Server so as to be able to set cache headers etc. I added the following lines to the httpd.conf:
This block tells IHS to cache static content in memory:
LoadModule cachemodule modules/modcache.so <IfModule modcache.c> LoadModule memcachemodule modules/modmemcache.so <IfModule modmem_cache.c> CacheEnable mem / CacheIgnoreHeaders Set-Cookie MCacheSize 102400 MCacheMaxObjectCount 10000 MCacheMinObjectSize 1 MCacheMaxStreamingBuffer 6291456 MCacheMaxObjectSize 6291456 </IfModule> </IfModule>
This block tells IHS to set cache-control expiry headers on static resource type.s.
Of course these HTTP Server caching settings should be used carefully. If you’re doing theme development, for example, you may wish to turn them off so that content caching does not get in the way.