Ivan Cheung and Wes Gong give a talk on best practices to avoid performance issues.
- LDAP: You don’t necessarily need LDAP mass import to just authenticate against LDAP and use groups for permissions
- Cache: Make sure you cluster ehCache settings between servers so users looking at the same page have a similar experience in multi-node environments
- File Storage: DB is an option but it’s slow; use a SAN for faster, higher performance. You can use Data Migration Tool in EE6 to migrate between filesystems, if needed.
- Plan Ahead: Change the admin password, change the default timezone/locale and set default communities/roles.
- Backups: Backup plan is crucial so you can rollback if something goes sideways. Be sure to store source code in an SCM.
- PreProd Environment: Should be exactly as PROD environment so you can test new development
- Updating Data: Use GUI and available Web services versus using SQL to update the database
- Liferay Home: Specify this in portal-ext.properties to allow Liferay find stuff, especially between upgrades
- Transforming Liferay: Keep core and custom code separate, and use the Plugins SDK as much as possible. Ask for help if you need help!
- EE Service Packs: Don’t get locked into a service pack…upgrade for many bug fixes and critical performance enhancements.
Just from my own experience being an EE customer, I think Liferay Support is rock solid. I have resolved many issues through their helpful support and persistence.
As a side note, check out LDAP group permissions after reauthenticating when added to a new group to verify they have permissions to that group. As per the first bullet point, you may be able to just do an initial import.
In 6.0, the license check has been improved, so if you use a symlink you should not get hit with adding a new key if the home remains the same.