- Avoid running multiple services on the same portal node. e.g. Set up Search on a different node or serve images from a dedicated server ( can be edge server)
- Avoid synchronising session data across portal nodes. Sync user session data using Dynacache is huge overhead on the CPU and is very memory intensive. Try using sticky sessions or avoid storing huge data on session
- When using WCM off the portal node, see if you can make use of remote rendering instead of local rendering
- Try bundling logical portlets in the same EAR. Helps to avoid multiple classloaders
- Uninstall the portlets that are not being used in the environment. If you are managing the environment using XMLAccess, one can even uninstall the adminstrative portlets
- Cache as much as possible - whether it is WCM content or portal assets
- If you deploying newer portal applications - see if you can make use of Client Side Aggregation (CSA)
Check my earlier post Why Portals might be crawling??