0
votes

I use pc sas 9.4. But the server is on Linux, so instead of running my program in batch on the server I have a little script I run at the top of my program which uses a remote engine to connect. I also assign a libname and run my datasteps which create permanent datasets. However when I do this, my program runs for 6 hours, but when I run the program without a libname, meaning the datasets are generated in my work directory, the same program runs in 10 minutes. No one seems to know why that is, and I was told to just run my code directly on the unix server. I don't like the look of sas on unix, and using unix editors, saving .sas files to run them. I prefer using the sas windows GUI. Why is there such a difference in runtime? Many thanks in advance.

1
Do you just connect to the server via the library or are you actually submitting your code via the rsubmit; statement? - Jetzler
%let srv=XXX_server_name; %let cntsrv=&srv 7541; options comamid=tcp remote=cntsrv; signon password=_prompt_; run; - user601828
That's what I use to log in. Then I create a libname that points to a location on unix server. Then I write my code and use the sas run icon to submit, not rsubmit. So if I don't prefix my data setname by the libname alias, the program runs in 10 mins, but if I prefix by the libname alias, say like this, data mylibname.results it runs for 6 hours. - user601828

1 Answers

3
votes

As you are not using rsubmit; you are actually not working on the server, only your data is stored on the server. You are downloading the data from the server to your PC before performing any calculations. Depending on your network, this will take some time.

Try this:

rsubmit XXX_server_name;

... Your Code ...

endrsubmit;

That way you will be working on the server, not just using data in a library on the server.