[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]
st: Re: Speed problems on network installation
Ulrich Kohler (email@example.com) asks about the speed of
Stata running over a network:
> we have serious speed-problems on our 10-users-network installation of Stata
> 8. The speed-problems seem to arise due to slow invocation of ado-files and
> help-files. Stata takes sometimes more than 10 seconds to show up help-files,
> and I guess that this is the same with the definition of programs in
> ado-files. Given that the new graphs require many invocation of external
> programs and of the help-system it is quite painful to work with Stata on our
> network installation.
> I know that the invocation of files from a network widely depends on the
> hardware (network cable, file-server etc.) and the networking software (in
> our case: Novell). But besides that, is there anything which can be done
> without asking our network-administrator to change the entire architecture?
While more information is needed to diagnose what is going on with the
network at Ulrich's site, I can offer a suggestion that will allow Ulrich
and others at his site to work around the problem.
Ulrich can make a local copy of all of Stata's official ado-files
and can tell Stata to look for that local copy rather than the
network copy all without the network administrator having to do
Stata searches for ado-files, help files, dialogs, and other files
along a set of directories known as the "ado path". The directories
are searched in the order shown by the -adopath- command. On my
Linux computer, when I type -adopath-, I see
 (UPDATES) "/usr/local/stata8/ado/updates/"
 (BASE) "/usr/local/stata8/ado/base/"
 (SITE) "/usr/local/ado/"
 (PERSONAL) "~/ado/personal/"
 (PLUS) "~/ado/stbplus/"
 (OLDPLACE) "~/ado/"
When Stata needs to load a help file, ado-file, dialog, or other
such file, it looks in the first directory listed above (and in the
lettered subdirectories of it), then the second directory if it didn't
find the file in the first directory, and so on.
The words in capital letters to the left of the directories are
Stata's official names for those directories, also known as "sysdirs".
This, the sysdir "UPDATES" is defined to be "/usr/local/stata8/ado/updates/"
on my computer. The adopath has "UPDATES" as its first search directory,
and Stata knows that "UPDATES" maps to "/usr/local/stata8/ado/updates/".
How does Stata know this, and how can this be changed? The -sysdir-
command will list the mappings and let users change the mappings for
Stata's system directories:
My guess is that at Ulrich's site, the STATA, UPDATES, BASE, and
perhaps SITE directories are across the network on another computer.
The slow speeds Ulrich is seeing are due to some problem finding
or transferring files across the network from those directories.
While the STATA directory is where Stata is installed, and cannot
be changed, the rest of the directories are where ado-files are
stored and can be changed.
Ulrich should make a complete copy of the UPDATES, BASE, and SITE
(if it exists) directories somewhere on his local computer. For
example, he might create
directories where ~ is his home directory on his computer. In these
directories he would copy the complete contents of the UPDATES,
BASE, and SITE directories that are somewhere else on his network.
Then, Ulrich can redefine UPDATES, BASE, and SITE with the -sysdir-
. sysdir set UPDATES "~/officialado/updates"
. sysdir set BASE "~/officialado/base"
. sysdir set SITE "~/siteado"
If the SITE directory is empty at Ulrich's site, he can just
change SITE to point at the current directory:
. sysdir set SITE "."
These -sysdir- commands can be put into Ulrich's profile.do
so that they are executed every time Stata starts. Once
UPDATES and BASE are redefined, Ulrich can even perform his
own ado-file updates without waiting for the network administrator.
If Ulrich continues to have any speed issues, Stata Technical Services
(firstname.lastname@example.org) will help diagnose his network configuration
and make suggestions for improving the speed.
* For searches and help try: