San Damiano Hall - Portal Performance
Facilitated by Bill Brown of University of Chicago
Overview
U of C portal is rolled out to entire university community
Home page is customized for each user group. Â When they log in they get a customized view
Performance lag on each initial load/log in due to externally located resources.
What are some tips and tricks that you use for your home page?
U of C uses shibboleth to authenticate there is overhead with that.
Load time is impacted due to number of portlets included on the home page.
Currently 5-10 second home page
*Is there an advantage to creating a fragement for each portlet? Â *Not if the user doesn't have permission to a portlet. Â If they don't have permission for a portlet then there is no overhead. At UWM, portlets are hidden from view until an employee checks the portlet to have it added. Â There is no time cost associated with this.
U of C uses Oracle database.
Performance testing was conducted on the home tab
Talking with external systems IO is a killer for rendering times. Pre fetching and caching is a way to combat this (maybe an incubator portlet that can do this?)
U of C will be working with Stakeholder Committee to recommend removal or relocation of home tab portlets
What is the peak # of portlets included on a page before load time is compromised? Not an issue of performance for UWM but they add or remove portlets based on whether or not a user will use it. UWM had Unicon review the site who then recommended that 6 portlets to a page is ideal. Â Less content on a tab has many benefits including no content below the fold and faster portlet rendering time. Â UWM has around 70 portlets but they are not all viewable at once to any viewer.
Ideas
- Audit home page and ensure no portlet has a time out of longer than 5 seconds
- Remove portlets that are rendering for the user
- Enable out of the box tool to gather Statistics for rendering time.
- Remote fetching resource caching- cache locally on disks (eg during peak times, RSS feed is only fetched every 60 seconds, which saves 199db calls per minute)- This helps with reliability.
- Change the default tab to only include timely and critcal information. Â Include: Something that will only be there for a few days (e.g. Announcement items), How do I customize the portal? How do I find things on the portal? News portlet?
- Weather Portlet-Check into who you are calling for data. Â Accu-weather is notoriously slow.
- Ajax can be a culprit in terms of slowness.
- Portlets are started at the same time as all the portlets but they render asynchronously. (e.g. Portlets 1-10 may start at the same time however if portlet 2 takes 30 seconds to render, the full page won't load until that portlet is rendered.)
- Increase the JAVA memory allocated to Tomcat (2G allocated to Tomcat manages 3K-4K log ins per day)
- UWM portal is very dasboardesque (1-2 clicks to get where they need to go, not robust)
- Choose the memory solution that is best suited for your primary portal type/usage needs
- Store data in LDAP memory and not disk (2G of memory)
- Use J Console-excellent for diagnosing and monitoring- connect the console to each node you are running individually.Â
- Watch for Garbage Collections
- Access statistics through JAVA jmx api. Milikin has a portlet that utilizes this JMX interface. Â This should be jasig incubated.Â
- Utilize database connection pooling. Â There are settings on Tomcat that can be changed.