SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 65433: SAS® Viya® web applications might exhibit slow performance in a clustered environment

DetailsHotfixAboutRate It

SAS Viya web applications might exhibit slow performance in a clustered environment that is running the Identities service on more than one machine. The following actions are examples where you might see long wait times:

  • logging in using the SASLogon sign-in page
  • switching from viewing Users to viewing Groups within the Users page in SAS® Environment Manager
  • viewing authorizations on an item
  • loading content in SAS® Drive

You might also notice an unusually high number of requests to LDAP from SAS Viya.

This behavior can occur if the Identities service cache becomes locked. When the cache is locked, every request to the Identities service causes a query to use LDAP rather than to cache, thereby bypassing the performance gain that cache provides.

Messages similar to the following in the Identities service log indicate that a request was sent to LDAP:

TRACE  c.s.i.p.l.LdapIdentityQueryRepository    : sasadm  Performing operation: search users
TRACE  c.s.i.p.l.LdapIdentityQueryRepository    : sasadm  Executing paged search: baseDN='DC=EXAMPLE,DC=COMPANY,DC=com', filter='(&(sAMAccountName=*)(&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))))'
TRACE  c.s.i.provider.ldap.BaseConfiguration    : sasadm  Initializing ldap template
TRACE  c.s.i.provider.ldap.BaseConfiguration    : sasadm  Configuring pooled ldap context source
TRACE  c.s.i.provider.ldap.BaseConfiguration    : sasadm  Initializing ldap context source
TRACE  c.s.i.provider.ldap.BaseConfiguration    : sasadm  Initializing ldap pooling context source
TRACE  c.s.i.p.l.LdapIdentityQueryRepository    : sasadm     Paged search execution time: 170ms
TRACE  c.s.i.p.l.LdapIdentityQueryRepository    : sasadm     Paged search execution time: 114ms

Note: Trace-level logging on the Identities service for the logger com.sas.identities is required to see the above log data. Refer to the Specify the Threshold Level for Service Logs section in SAS® Viya® 3.4 Administration / Logging for the steps to enable this logging level if you want to confirm these messages in your environment. Be aware that some queries to LDAP are normal and required, even if there is no problem accessing the cache.

When the cache is being used, the log shows messages similar to the following instead:

TRACE  c.s.i.provider.cache.IdentityCache       : sasadm  Searching for groups within cache, options: QueryOptions [paging=PagingParameters [start=0, limit=100] , params={providerId=ldap}]
TRACE  c.s.i.provider.cache.IdentityCache       : sasadm  Searching for groups within cache, options: QueryOptions [paging=PagingParameters [start=0, limit=100] , params={sortBy=name:ascending, providerId=ldap}]

To confirm whether the identities cache is locked, submit these three commands. Each of the three commands should be submitted as a single line, should be run as the SAS user (or a user with sudo privileges), and should be run on the machine that is running the SAS® Configuration Server:

source /opt/sas/viya/config/consul.conf
export CONSUL_HTTP_TOKEN=$(sudo cat /opt/sas/viya/config/etc/SASSecurityCertificateFramework/tokens/consul/default/client.token)
/opt/sas/viya/home/bin/sas-bootstrap-config kv read locks --recurse | grep locks

If the following key (with no value assigned) is in the result, the identities cache is currently locked:

locks/identities-service/provider-cacheRefresh

To manually release the cache lock, submit the following command, and then restart the Identities service on each node on which it is running:

/opt/sas/viya/home/bin/sas-bootstrap-config kv delete locks/identities-service/provider-cacheRefresh

Click the Hot Fix tab in this note for a link to instructions about accessing and applying the software update.

Verify that the Update Is Installed

To complete this process, make sure that the Identities service version is 2.17.16 or newer.

You can determine the version of the Identities service using one of these methods:

  • On Linux systems, run the following rpm command from the SAS Viya microservices host machine:

       rpm -q sas-identities

    The version number is shown after the service name. Here is an example:

       sas-identities-2.17.16-20200122.1579726744291.x86_64
       
  • On Linux or Windows systems, connect to the /identities/apiMeta endpoint. The XML output shows the version similar to the following:

       "buildVersion":"2.17.16"
       


Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS ViyaMicrosoft® Windows® for x643.43.5Viya
Microsoft Windows 8 Enterprise 32-bit3.4
Microsoft Windows 8 Enterprise x643.43.5Viya
Microsoft Windows 8 Pro 32-bit3.4
Microsoft Windows 8 Pro x643.43.5Viya
Microsoft Windows 8.1 Enterprise 32-bit3.4
Microsoft Windows 8.1 Enterprise x643.43.5Viya
Microsoft Windows 8.1 Pro 32-bit3.4
Microsoft Windows 8.1 Pro x643.43.5Viya
Microsoft Windows 103.43.5Viya
Microsoft Windows 95/983.4
Microsoft Windows 2000 Advanced Server3.4
Microsoft Windows 2000 Datacenter Server3.4
Microsoft Windows 2000 Server3.4
Microsoft Windows 2000 Professional3.4
Microsoft Windows NT Workstation3.4
Microsoft Windows Server 2003 Datacenter Edition3.4
Microsoft Windows Server 2003 Enterprise Edition3.4
Microsoft Windows Server 2003 Standard Edition3.4
Microsoft Windows Server 2003 for x643.43.5Viya
Microsoft Windows Server 20083.4
Microsoft Windows Server 2008 R23.43.5Viya
Microsoft Windows Server 2008 for x643.43.5Viya
Microsoft Windows Server 2012 Datacenter3.43.5Viya
Microsoft Windows Server 2012 R2 Datacenter3.43.5Viya
Microsoft Windows Server 2012 R2 Std3.43.5Viya
Microsoft Windows Server 2012 Std3.43.5Viya
Microsoft Windows Server 20163.43.5Viya
Microsoft Windows Server 20193.4
Microsoft Windows XP Professional3.4
Windows 7 Enterprise 32 bit3.4
Windows 7 Enterprise x643.43.5Viya
Windows 7 Home Premium 32 bit3.4
Windows 7 Home Premium x643.43.5Viya
Windows 7 Professional 32 bit3.4
Windows 7 Professional x643.43.5Viya
Windows 7 Ultimate 32 bit3.4
Windows 7 Ultimate x643.43.5Viya
Windows Millennium Edition (Me)3.4
Windows Vista3.4
Windows Vista for x643.43.5Viya
Linux for x643.43.5Viya
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.