kew@cims2.uucp (Keith Walker) (11/06/90)
What happens when you ask XENIX to handle 5000+ users in a passwd file? Is this the way to do things? All we want to do really is provide for e-mail between all of these users; but there's sooo many! I've never dealt with a system larger than about 100 users (and note that that is *users* not terminals -- there are only eight modems and a couple of terminals), and the thought of having to deal with over 5000 users seems slightly intimidating. Does a stock XENIX or UNIX handle this kind of load well? Obviously, all those people aren't on-line at the same time, but is having a passwd file with 5000+ lines in it and 5000+ home directories just asking too much of humble XENIX? Please e-mail your response. I don't think that this topic has wide interest, but I would like to start a conversation with someone that have dealt with problems like this before. -- Keith Walker Domain: kew@cims.com UUCP: uunet!proto!cims2!kew Voice: +1 509/466-9384
chip@chinacat.Unicom.COM (Chip Rosenthal) (11/07/90)
In article <1990Nov6.014513.26144@cims2.uucp> kew@cims2.uucp (Keith Walker) writes: >What happens when you ask XENIX to handle 5000+ users in a passwd >file? Anything which attempts a getpwent() et. al. becomes unusable. I ran some tests with two passwd files: a 44-line version and a 5044-line version. The big one was created by appending the active stuff to the end of 5000-lines of dummy entries, those providing some worst-case values. (That is, this guarantees that nearly 5000 lines need to be scanned before the desired passwd record would be found.) My results were: ------------------------ ----------- ----------- big passwd small passwd ------------------------ ----------- ----------- ls -l /etc real 1:34.36 0:01.52 user 0:53.60 0:00.42 sys 0:05.10 0:00.56 With a huge passwd file, ls -l would freeze anytime a file with different group/user ownership came up and this information needed to be retrieved. ------------------------ ----------- ----------- elm real 0:05.46 0:01.36 user 0:04.10 0:00.62 sys 0:00.86 0:00.58 This involved starting up and immediately quitting Elm. ------------------------ ----------- ----------- sending mail real 0:02.38 0:00.50 user 0:01.88 0:00.08 sys 0:00.34 0:00.22 This test involved running the command: echo "testing" | /usr/lib/sendmail chip bin root uucp where sendmail is really smail3.1. ------------------------ ----------- ----------- login ~3 sec ~3 sec This was timed on my watch. Repeatability of my typing is +-800msec, and my eyeballs are calibrated to 396msec. ------------------------ ----------- ----------- My gut feel is that if users do nothing but use mail, performance will be degraded but possibly acceptable. If they plan on talking to a shell, it will be unusable - stuff like "ls -l" will be too painful. If you have your heart set on this system, one kludge might be to build yourself a DBM database of /etc/passwd, write a modified getpwent() and friends which use this database, get your hands on available versions of common utilities (e.g. ls from the GNU fileutils), and compile it with your library. Can somebody who knows YP comment on whether something might be done with a 386 UNIX to make this work? -- Chip Rosenthal <chip@chinacat.Unicom.COM> Unicom Systems Development, 512-482-8260 Our motto is: We never say, "But it works with DOS."
cat@tygra.ddmi.com (CAT-TALK Maint. Account) (11/07/90)
In article <1990Nov6.014513.26144@cims2.uucp> kew@cims2.uucp (Keith Walker) writes:
"What happens when you ask XENIX to handle 5000+ users in a passwd
"file? Is this the way to do things? All we want to do really is
"provide for e-mail between all of these users; but there's sooo many!
"I've never dealt with a system larger than about 100 users (and note
"that that is *users* not terminals -- there are only eight modems and
"a couple of terminals), and the thought of having to deal with over
"5000 users seems slightly intimidating.
"
We have almost 2000 users in the password file here at CAT-TALK and so
far there isn't a problem (ie: Xenix can handle it fine). For securities
sake, keep an "authorized copy" of your password file offline and upload
it every now and then and compare it with the active password file to
make sure no one has hacked into your system and added any bogus users.
"Does a stock XENIX or UNIX handle this kind of load well? Obviously,
"all those people aren't on-line at the same time, but is having a passwd
"file with 5000+ lines in it and 5000+ home directories just asking too
"much of humble XENIX?
"
We split the user's home directories between 4 separate filesystems.
Empty, all of these directories take 256000 bytes. The problem is that
we would run out of inodes if people started getting alot of files
in their directories. Also, spreading out the filesystems on 4
separate drives reduces that contention for access to any one disk drive,
keeping things from slowing down due to disk I/O.
Does anyone know if there *IS* a limit on number of entries in the
password file? Does Xenix keep a "cache" in memory somewhere and if
so, is it a complete copy??