We ran into a performance issue with liferay 6.2 after moving from 6.1.
Almost all of our custom as well as liferay plugin portlets respond very slow for non admin users .
We observe that permission checking seems to be time consuming. Also the following query is hit so many times ...
( SELECT DISTINCT Group_.groupId AS groupId ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName ,Group_.type_ AS groupType ,Group_.friendlyURL AS groupFriendlyURL FROM Group_ INNER JOIN Users_Groups ON (Users_Groups.groupId = Group_.groupId) WHERE (Group_.liveGroupId = 0) AND (Group_.active_ = 1) AND (Group_.liveGroupId = 0) AND (Users_Groups.userId = 3391488) AND (Group_.companyId = 10132) AND ( Group_.classNameId = 10012 OR Group_.classNameId = 10024 ) AND (Group_.parentGroupId != - 1) AND (Group_.liveGroupId = 0) AND (Group_.NAME != 'Control Panel') AND ( Group_.NAME LIKE NULL OR NULL IS NULL ) AND ( Group_.description LIKE NULL OR NULL IS NULL ) AND (Group_.type_ != 4) ) UNION ( SELECT DISTINCT Group_.groupId AS groupId ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName ,Group_.type_ AS groupType ,Group_.friendlyURL AS groupFriendlyURL FROM Group_ INNER JOIN Users_Orgs ON (Users_Orgs.organizationId = Group_.classPK) WHERE (Group_.liveGroupId = 0) AND (Group_.active_ = 1) AND (Users_Orgs.userId = 3391488) AND (Group_.companyId = 10132) AND ( Group_.classNameId = 10012 OR Group_.classNameId = 10024 ) AND (Group_.parentGroupId != - 1) AND (Group_.liveGroupId = 0) AND (Group_.NAME != 'Control Panel') AND ( Group_.NAME LIKE NULL OR NULL IS NULL ) AND ( Group_.description LIKE NULL OR NULL IS NULL ) AND (Group_.type_ != 4) ) UNION ( SELECT DISTINCT Group_.groupId AS groupId ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName ,Group_.type_ AS groupType ,Group_.friendlyURL AS groupFriendlyURL FROM Group_ INNER JOIN Groups_Orgs ON (Groups_Orgs.groupId = Group_.groupId) INNER JOIN Users_Orgs ON (Users_Orgs.organizationId = Groups_Orgs.organizationId) WHERE (Group_.liveGroupId = 0) AND (Group_.active_ = 1) AND (Group_.liveGroupId = 0) AND (Users_Orgs.userId = 3391488) AND (Group_.companyId = 10132) AND ( Group_.classNameId = 10012 OR Group_.classNameId = 10024 ) AND (Group_.parentGroupId != - 1) AND (Group_.liveGroupId = 0) AND (Group_.NAME != 'Control Panel') AND ( Group_.NAME LIKE NULL OR NULL IS NULL ) AND ( Group_.description LIKE NULL OR NULL IS NULL ) AND (Group_.type_ != 4) ) UNION ( SELECT DISTINCT Group_.groupId AS groupId ,REPLACE(Group_.NAME, ' LFR_ORGANIZATION', '') AS groupName ,Group_.type_ AS groupType ,Group_.friendlyURL AS groupFriendlyURL FROM Group_ INNER JOIN Groups_UserGroups ON (Groups_UserGroups.groupId = Group_.groupId) INNER JOIN Users_UserGroups ON (Users_UserGroups.userGroupId = Groups_UserGroups.userGroupId) WHERE (Group_.liveGroupId = 0) AND (Group_.active_ = 1) AND (Group_.liveGroupId = 0) AND (Users_UserGroups.userId = 3391488) AND (Group_.companyId = 10132) AND ( Group_.classNameId = 10012 OR Group_.classNameId = 10024 ) AND (Group_.parentGroupId != - 1) AND (Group_.liveGroupId = 0) AND (Group_.NAME != 'Control Panel') AND ( Group_.NAME LIKE NULL OR NULL IS NULL ) AND ( Group_.description LIKE NULL OR NULL IS NULL ) AND (Group_.type_ != 4) ) ORDER BY groupName ASC
I wonder why liferay doesn't cache it ....
performance liferay liferay-6
suyash
source share