SUMMARY: yppush slowness (4.1.2 + DNS)

From: Ted Nolan SRI Ft Gordon (ted@ags.ga.erg.sri.com)
Date: Mon Oct 18 1993 - 08:06:41 CDT


Hello again folks,

Here was my original problem:

>I've got a frustrating problem with YP that I could use some thoughts on..
>
>Our system is a 4.1.2 Sparcstation2 with 32M memory, SunLink X.25,
>4 SPC cards (driver version 1.2) and several scsi disks and tapes.
>We are running YP so that we can access a DNS server (a hacked
>Army version of Bind called TNS). The system has its own YP domain
>with no clients or slave servers---just itself as its own client.
>
>We update the passwd file rather frequently from a program. After each
>update, the program "system()"s a shell script that redirects stdout and
>stderr to /dev/null, cds to /var/yp and does a "make" (there's also some
>locking to make sure only one instance actually runs at once).
>
>All of our files are very short, and the yp make usually takes only a few
>seconds. However, sometimes it slows down dramatically and can take 15 min
>or longer. Looking at "ps" shows that a yppush is being done on each
>map and is hanging. I can see a ypxfer start during each yppush, but
>it doesn't seem to complete normally, or yppush can't hear what it's
>saying and has to wait to time out on each map. (And remember there are
>no other servers, we're just telling ourselves that we have a nwe map
>(and then failing to transfer it even under normal circumstances, since it's
>no newer than the one we already have... an odd tactic)).
>
>This long delay is playing havoc since the program spawning the update
>has a lot to do, and wants to wait for the yp make and be sure there were
>no errors...
>
>So here are my questions:
>
>1) Does anyone know why this normally speedy process will totally bog down
> sometimes? How to fix it?
>
>2) Does anyone know how to avoid the push at all, and still have ypserv/bind
> get the updated info (since it seems stupid to have to push it to
> ourself anyway) so we can avoid the whole process? I've tried setting
> the NOPUSH flag in the Makefile. This works much faster, but the
> system doesn't always see the new information.
>
>Things I have considered and rejected:
>
> Replacing the shared libraries with ones that access the DNS/TNS first:
> Too many side effects for our very short fused deadline.
>
> Not pushing and killing and restarting ypserv/ypbind after updates:
> Leaves a window of failure for programs looking for addresses.
>
>Thanks folks, any help will be much appreciated!
>

Well, I got replies from several kind folks, but I don't really think I got
the answer I was looking for.

A couple suggested using yppasswd rather than modifying the file and remaking.
the YP. I should have been more explicit in my problem statement, but
we are not (just) changing passwords here. We are doing complete user adds
and deletions, so yppasswd is not sufficient.

A few more suggested defeating the "yppush"es in the makefile. I had already
tried that, and while it cut down on the update time dramatically, the server
would not always get the new data even though it was running on the same
machine.

Nobody had an answer as to why the updates would be taking so long in the
first place. I haven't really seen the problem since we have been testing
off of the army network we were hooked to at the time. I don't see how,
but perhaps some facet of its strangeness was affecting us...

Thanks to:

        Jeff Tate jeff@BofA.COM
        Dan Stromberg - OAC-DCS <strombrg@hydra.acs.uci.edu>
        Dan L. Ostrom ostrom@alp061.alp.ford.com
        Hal Stern stern@sunne.East.Sun.COM
        and another couple that I somehow lost

                                Ted Nolan



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:08:25 CDT