01-16-2016 11:40 AM - edited 01-16-2016 11:45 AM
I have SAS Enterprise Guide installed in my windows desktop and connected with a SAS server in a unix system.
I have noticed that when I open an EG project that contains many scripts that reside in the server, the project becomes *VERY* slow to open (and the EG client becomes completely unresponsive while this happens.)
When I connect through VPN the issue becomes much more pronounced.
If anybody know why this happens and if there is a client option that I can change to fix this behavior, please advice. I don't know if EG is trying to gather all the source code at once at oppening (hopefully not, because these scripts can be very lengthy.)
I have SAS Enterprise Guide 7.11 HF3 and Windows 7. The unix server is solaris and I connect to it via a SAS metadata server.
01-16-2016 08:49 PM - edited 01-16-2016 08:51 PM
Try copying the EG project to your PC hard drive. How long does it take to load?
Try copying the EG project to a Windows file server. How long does it take to load?
Now compare these load times with your SAS server one. If the SAS server one is way slower then you can conclude that it is a combination of network bandwidth and latency between yiour PC and the server that is causing your problem.
01-16-2016 09:38 PM
@SASKiwi - thanks for the prompt response.
The EG project file is stored in my hard drive. It just contains remote sas programs files that are stored in the unix server. To be more clear, I am not opening those remote programs (merely opening the project) when EG slows down and freezes.
Yes, network latency is a factor without a doubt. The project takes more time to open when I connect from home (through the company VPN) than when I am in the office (closer to the server.) Since the latency problem is not due to the system needing to bring the project file to my machine through the network, maybe it is due to something that EG itself is doing something over the network when the project first opens. Anybody knows what EG does when remote files exist?
Even if network latency exists, I would like to know if there is a setting that I could change in order to stop the EG behavior that is causing this slow down. In the past, I have found similar settings for other performance problems issues (i.e. EG was taking too long to close some large projects. I changed a setting to stop checking for temporary datasets. With that, the problem was solved.) Hopefully in this case there is a similar solution.
I do need to continue using the unix server.
Appreciative for any suggestions. Thanks so much.
01-16-2016 10:05 PM
OK so what is performance like if your remote programs are not stored in your EG project?
Can you do a FILE SAVE AS of a program in EG direct to your SAS server? Then do a FILE OPEN of the program. Any performance issues? I'm assuming here that you can have network shares from your PC to the Unix server.
How are your remote programs referenced in your project - via a UNC type file reference or some other way?
FYI we store our SAS programs remotely on our SAS server too but not referenced from inside a project just as external files and performance is very good - it is a Windows server though.
01-16-2016 11:01 PM - edited 01-16-2016 11:13 PM
Great question. Performance outside the EG project is very good. I can access the same sas programs sitting in the unix server via an FTP client (treating them as plain text files.) The files open super fast (individually.) If I didn't want the code editing features of EG, accessing these programs as text files would be a good solution.
The EG project has about 30 of those remote programs inside. If EG was trying to fetch all the code of all those programs, all at once when the project opens, that could explain the issue. However, I don't believe that EG fetches the remote programs at that point. I think that happens when you click to open each individual program. I believe this because when I open a remote program, EG shows all the changes (up to date) even if these were done outside EG. Opening the remote programs from EG is reasonably fast. Only opening the project is slow. So, I'm not sure what is causing this delay.
I am not sure now EG accesses those remote programs (UNC or other.) We do use "SAS Metadata Server" to manage our connection profiles to the SAS servers in the unix boxes. As a user, I can open an existing .sas program from EG using the exact same menus (File > Open > Program, etc.) Using the left pane of the open program window, I can choose to access files in my machine, in "My Network Places" (e.g. the windows network), or in "Servers" (to access the unix side.) Works the same way on the front end. In all these cases, the program is added to my project and the icon looks a little bit different (to indicate it's a shortcut to an external program instead of a program inside EG.)
I had not experienced this issue when I was using self-contained projects. Only now that I need to use a lot of external programs, this is becoming slower. That's why I believe this is the cause... but I also upgraded my machine recently and we recenty upgraded the sas server I use to sas 9.4. So other changes have occured in the environment... just wanted to mention this...
01-18-2016 03:28 AM
I would make this an issue with SAS TS.
I have the notion from experience here that EG may do a lot of things in succession, where individual latencies add up to become visible to the end user. Like in Web pages that do a tankerload of small reloads. 100 ms may not be noticed with an inddividual request, but 100 requests will add up to 10 seconds.
01-19-2016 01:54 PM
What happens if you embed the programs into your project? Does this resolve your performance problem? I know this is not your desired solution but I just wanted to confirm that it is the remote linked programs that cause all of the slowness with this project.
I'm also curious to know what put in your File path to define the remotely-linked file.
01-22-2016 11:10 AM
Thank you all for taking time to help with this issue!
I have opened a case with SAS and they are looking at this problem now. I am supplying them with all the facts, timing, logs, etc. I've been told that the developer will look at this.
When I have a final answer, I will come back here and share.
@SASKiwi: When the project is self-contained (e.g. when no external programs in the unix server are included) the delay disapears.
2 weeks ago
This issue was fixed in EG 7.13 and 7.12 HF6. The slowness was a result of the time it was taking to setup the "file change notification" feature for all the external files. We resolved by moving this work to a background thread.