Your SAS programs, embedded in web apps and elsewhere

How to improve execution time of dqmatch function

Reply
New Contributor
Posts: 2

How to improve execution time of dqmatch function

I have following code:

data _null_;
x = dqmatch('Indrajeet Patil','Name',80,'ENUSA');
put x=;
run;


This is used to generate match code, executing stored process each time there is a call from source system.
This code takes 2-3 seconds to complete first time you execute it in a session.
Later executions on the same sessions take milliseconds.
Response should be much faster as this is used in real-time screening.
How to improve this code for first time execution also the later executions?

Highlighted
Valued Guide
Posts: 525

Re: How to improve execution time of dqmatch function

Posted in reply to Indrajeet

First time execution could be longer, because the sas session has to be started.

 

I recommend contacting tech support, because analysing performance issues requires in-deep knowledge of the whole system.

Contributor
Posts: 42

Re: How to improve execution time of dqmatch function

Posted in reply to andreas_lds
Consider deploying it as a real time service on your data management server
instead. In that case you will have a process that is constantly online to
fulfill requests. You will get identical result, but a lot faster.

Regards,
Vasilij
=======================================
For more information about {An}alytium, visit https://www.analytium.co.uk
Super User
Posts: 9,925

Re: How to improve execution time of dqmatch function

Posted in reply to Indrajeet

Even if a stored process server has its instances already started, over time they will be paged out to paging space due to inactivity. Then the first request will be delayed while the process is paged back in.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
Frequent Contributor
Posts: 133

Re: How to improve execution time of dqmatch function

[ Edited ]
Posted in reply to Indrajeet

I suspect that your sassrv user is configured as an off-host / AD user, and that the authentication required at the operating system level to start a Multibridge session is causing a delay.

 

Increase the  STP Server Start Size to match the number of Multibridge sessions you have defined, and if you're going to depend on this as an operational scoring service, also define some additional Multibridge sessions (assuming current default of 3). Increasing Start Size to match the number of sessions will make sure that STP multibridge processes are authenticated at the OS level and started by the Spawner long before your STP request ever hits them, so that they are ready for execution.

 

Note on increasing start size and removing the Inactivity Timeout: http://support.sas.com/kb/20/769.html

Note on adding multibridge sessions: http://support.sas.com/kb/30/568.html

 

@KurtBremser - when you consider the typically 60ms+ round trip from client -> spawner -> metadata -> multibridge -> client, the page faults will be insignificant.

 

Nik

Ask a Question
Discussion stats
  • 4 replies
  • 103 views
  • 2 likes
  • 5 in conversation