[28974] in North American Network Operators' Group
RE: pop server in an ISP environment
daemon@ATHENA.MIT.EDU (Greg A. Woods)
Mon May 29 18:54:32 2000
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
From: woods@weird.com (Greg A. Woods)
To: nanog@merit.edu (North America Network Operators Group Mailing List)
In-Reply-To: <002001bfc991$91a7d700$eaaf6cc7@PEREGRIN>
Reply-To: nanog@merit.edu (North America Network Operators Group Mailing List)
Message-Id: <20000529225227.82CE0DE@proven.weird.com>
Date: Mon, 29 May 2000 18:52:27 -0400 (EDT)
Errors-To: owner-nanog-outgoing@merit.edu
[ On Monday, May 29, 2000 at 10:16:03 (-0700), Roeland Meyer (E-mail) wrote: ]
> Subject: RE: pop server in an ISP environment
>
> The theoretical limit, on most Unix kernels, is 64K users. This
> is only because the internal representation of the uuid is
> usually an int.
You're about six years behind the times, I think! ;-)
I'd bet that 99.9% of running Unix and Unix-like kernels that are
capable of running TCP/IP and would be used in production in an ISP
setting today are good to at least 2^31 users, if not 2^32.
The first widely used 32-bit system, Unix 32V, used a "short" to
represent the UID in the kernel (in struct proc, for example). IIRC a
short was indeed still 16 bits on a VAX (and thus a UID was effectively
restricted to 15 bits). By the time AT&T UNIX SysIII came along it was
a "ushort", and so definitely 16 bits. 4.3net2 still uses a u_short,
but I doubt any ISPs are using any such kernels in production.
By the time 4.4BSD is available (1994) uid_t is an "unsigned long", so
even on a 32-bit machine that's 2^32 users! ;-)
AT&T System Vr4 (and thus SunOS-5.x) still calls uid_t just a "long" so
it's only good for 2^31 users on 32-bit system, making 32-bit 4.4BSD
boxes ~2 billion (and that's an American Billion!) times better than
32-bit SunOS-5 boxes! ;-) [and 64-bit 4.4BSD boxes are "about"
16140901064495857664 times better than 64-bit SunOS-5 boxes! 2^ ;-)]
> Your 5000 user limit, based on /etc/passwd, is bogus. For
> example, on Intel hardware, you will never approach even 500
> concurrent shell users (developers) without the silicon melting
> down. However, a Sun e10K can handle 5000 of such users easily.
> That same Intel box can handle over 10000 mailboxen, if you give
> it enough disk space (RAID0 spool) and memory (RAM cache) [but
> not on a single 56Kbps port <g>].
On machines which do not use a hashed database (dbm, db, etc.) for
/etc/passwd (eg. un-adorned SunOS-5.x not using NIS+) there may be some
issue with having more than say 20-30 thousand users. More CPU and RAM
will offset this limit somewhat of course.
--
Greg A. Woods
+1 416 218-0098 VE3TCP <gwoods@acm.org> <robohack!woods>
Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com>