From owner-doc-jp@jp.freebsd.org  Fri Apr 10 00:55:27 1998
Received: by jaz.jp.freebsd.org (8.8.8+3.0Wbeta7/8.7.3) id AAA29214
	Fri, 10 Apr 1998 00:55:27 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.8+3.0Wbeta7/8.7.3) with ESMTP id AAA29209
	for <doc-jp@jp.freebsd.org>; Fri, 10 Apr 1998 00:55:24 +0900 (JST)
Received: from singer.kt.rim.or.jp (ppp360.kt.rim.or.jp [202.247.140.60]) by mail.kt.rim.or.jp (8.8.5/3.4W3-rim1.1) with ESMTP id AAA23208; Fri, 10 Apr 1998 00:55:19 +0900 (JST)
Received: from localhost (localhost [127.0.0.1]) by singer.kt.rim.or.jp (8.8.8/3.4Wbeta3-96070610) with ESMTP id AAA02393 for <doc-jp@jp.freebsd.org>; Fri, 10 Apr 1998 00:54:42 +0900 (JST)
To: doc-jp@jp.freebsd.org
X-Mailer: Mew version 1.92 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19980410005441K.yoshiaki@kt.rim.or.jp>
Date: Fri, 10 Apr 1998 00:54:41 +0900
From: Yoshiaki Uchikawa <yoshiaki@kt.rim.or.jp>
X-Dispatcher: imput version 971024
Lines: 235
Reply-To: doc-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=24]
X-Sequence: doc-jp 4586
Subject: [doc-jp 4586] <NewsLetter> dillon
Errors-To: owner-doc-jp@jp.freebsd.org
Sender: owner-doc-jp@jp.freebsd.org

$B$&$A$+$o$G$9(B

ISP $B;D9sJ*8l(B :-)$B$G$9!#(B
$B%3%a%s%H$*4j$$$7$^$9!#(B

$B!t(BKISS $B$N2r<a$K$D$$$F$O%"%9%-!<=PHG$N%O%C%+!<%:Bg<-E5$r;29M$K$5$;$FD:(B
$B!t$-$^$7$?(B

$BL@F|$O(B "$B;E;v$,K;$7$$(B" or "King Crimson Project $B$N(B Live $B$r8+$k(B" $B$J$N$G(B
$BD>$9$N$OEZMK$K$J$k$H;W$$$^$9!#$8$C$/$j$*4j$$$7$^$9(B;-)

-----------------------------------
$B%?%$%H%k(B: ISP$B$N(B No.1 $B$O(B FreeBSD$B$5(B!
$BCx<T(B: Matthew Dillon 
        Best Internet Communications, Inc.

$BJ?6QE*$J8=:_$N(B ISP $B$K$H$C$F!"(B $BNr;K$N;O$^$j$O$?$V$s(B2$BG/$H$A$g$C$HA0(B
$B$0$i$$$N$b$N$@$m$&!#$b$A$m$s$b$C$H8E$$(B ISP $B$b;3$N$h$&$K$"$k$1$I!"(B
100%/$B7n$N@.D9$rL\;X$7$F6%Ah$7$F$-$?$N$O$[$s$N$o$:$+$G!"(B ISP $B$NCf$G(B
$B:GBg5i$N$b$N$O(B ISP $B$H$7$F$G$O$J$/(B BBS $B$H$7$F;O$^$C$?$b$N$@!#(B
$B$=$l$G$b!"(BInternet $B$,0lHLE*$K$J$j;O$a$?$3$m$K@5$7$$$d$j$+$?$G;O$a$?(B
$B$H$9$l$P!"$"$J$?$G$b;d$?$A$N$h$&$K$J$C$F$$$k$@$m$&!#$=$l$O$=$N8e$N(B
$B5^7c$J@.D9$KH<$&6[D%$HIU$-9g$C$F$$$+$J$1$l$P$J$i$J$$$H$$$&$3$H$@!#(B

$B$^$5$7$/;d$?$A$N;O$a$?$N$O(B2$BG/A0$@$C$?!#(B $B:GE,$J;T>l$r7P83$GCC$($?%+%s$G(B
$B$H$i$(AGAa$/$H$j$+$+$j!"$=$l$,@5$7$+$C$?$3$H$rL@$i$+$K$7$?(B
$B$"$($FA*$s$@L>A0(B - BEST Internet $B$H$$$&%2!<%`$O%f!<%64D6-$rAGAa$/(B
$B%5%]!<%H$9$k$3$H$,MW5a$5$l$k%(%s%8%K%"%j%s%0$H%W%m%0%i%_%s%0$NL/5;$K(B
$B$h$kC1=c$J@8B86%Ah$H$$$&$o$1$@!#(B

$B;O$a$?Ev=i$O;d$?$A$O(B BSDI $B$H(B FreeBSD $B$r;H$C$?!#(B $B$=$l$+$i!"$=$N;~$b$&>/(B
$B$7EXNO$,B-$j$J$1$l$P$[$H$s$ICWL?E*$J8m$j$K$J$C$F$$$?$+$bCN$l$J$$JQ99!"(B 
$B$"$($FL>A0$OIz$;$k$,!"%V%i%s%IIU$N(B UNIX$B%Y%s%@$N>.7?%^%k%A%W%m%;%C%5(B
$B%7%9%F%`$X$NJQ99$r9T$C$?!#(B $B;d$?$A$K$H$C$F$O!"3HD%2DG=$J>&6HE*$J(B
$B%5%]!<%H$N$"$k%7%9%F%`$,!"(B $B;d$?$A$N%5!<%S%9$NDs6!$N=u$1$K$J$j!"@.D9$K(B
$BBP$7$F==J,$JM>M5$rDs6!$7$F$/$l$kJ*$G$"$C$F$/$l$J$1$l$P$J$i$J$+$C$?!#(B

$B$3$N%_%9$K$h$C$F;d$?$A$O%S%8%M%90J30$NItJ,$KBgItJ,$N;~4V$rHq$d$9$h$&$K(B
$B$J$C$?!#(B  $B%9%1!<%i%S%j%F%#$J$s$F3($K=q$$$?L_$G(B, $B>.7?%^%k%A%W%m%;%C%5(B
$B%7%9%F%`$N%a%s%F%J%s%9$KI,MW$J;E;v$O!"$[$H$s$IB3$1$k$N$,IT2DG=$J$[$I$K(B
$B:$Fq$K$J$C$?!#$9$Y$F$N%O!<%I%&%'%"$KGO</$2$?$[$I$NNL$N;E;v$H;q6b$r(B
$B$D$.9~$`$3$H$,I,MW$K$J$C$F$$$?!#(B $B;d$?$A$O2?=54V$"$k$$$O2?%u7n$b(B
$B%P%0%U%#%C%/%9$r<u$1$k$3$H$,$G$-$J$+$C$?!#$"$i$f$kN`$$$N4qL/$J(B
$B%i%$%;%s%9NA$,I,MW$J$;$$$G(B ""$B2?$K$G$b;H$($k(B"" $B%^%7%s$N%$%s%9%H!<%k$O(B
$BIT2DG=$@$C$?!#E%>B$N:Y$+$JItJ,$K$D$$$F$O95$($F$*$3$&!#$=$l$O$"$s$^$j(B
$B5$J,$N$$$$$b$N$8$c$J$$!#(B

$B0-L4$N$h$&$J>uBV$@$C$?!#>.7?%^%k%A%W%m%;%C%5%7%9%F%`$XB?$/$N%j%=!<%9$,(B
$B=8Cf$7$F$$$k$3$H!"$=$N>.7?%7%9%F%`$N%/%i%C%7%e!"%=%U%H%&%'%"$NLdBj!"(B
Internet attack$B!"%5!<%S%9$K;Y>c$r$-$?$9$h$&$J%f!<%6$N%_%9$J$I$,>u67$r(B
$B0lAX0-2=$5$;$?!#(B

$B$3$N>u67$O!"(BBEST$B<R$N5;=QItLg$,F3F~$7$?(B``$B%(%s%?!<%W%i%$%:%5!<%P(B''$B$H8F$P(B
$B$l$F$$$k%^%k%A%W%m%;%C%5%7%9%F%`$,$H$s$G$b$J$$4V0c$$$G$"$C$?$3$H$N(B
$B40A4$J>ZL@$@$C$?!#%^%k%A%W%m%;%C%5%7%9%F%`(B1$BBf$,$=$l$>$l<B<AE*$K(B50
$BK|%I%k$N%O!<%I%&%'%"$H%G%#%9%/$rMW5a$7$F$$$J$,$i!"8@$C$F$_$l$P$[$H$s$I(B
$B;H$$J*$K$J$i$J$+$C$?!#(B

$B%i%C%/%^%&%s%H$N(B Pentium Pro 200MHz $B$N%7%9%F%`>e$GF0$/(B FreeBSD $B$X(B
$BLa$k$3$H$K$O(B 2$BE@$NLdBj$,$"$C$F;d$?$A$O?4G[$7$?$,!"<B:]$K$OLdBj$O(B
$B$J$+$C$?!#FC$K(BECC$B$H(B2$B<!%-%c%C%7%e$rFbB"$9$k(B Pentium Pro 200MHz$B$K(B
$B$D$$$F$O!"==J,$G$"$k;v$,J,$+$C$?!#$^$?!"(BISP$B$N%5%]!<%H$9$k$9$Y$F$N(B
$B%7%9%F%`$N8B3&$r;YG[$9$k$N$O(B 1$B$K(B DISKI/O $B$G(B 2 $B$K(B DISK I/O $B$G(B3$B$K(B
 DISK I/O $B$G$"$k$3$H$,J,$+$C$F$$$k!#(B($B4JC1$K8@$($P!"(B2$BBf$N(B
$B>.7?%7%9%F%`$K$=$l$>$l(B10$BBf$N(B SCSI$B%$%s%?%U%'!<%9$r@\B3$7$?$b$N$h$j(B
10$BBf$N(BFreeBSD $B%7%9%F%`$KCV$-49$($?J}$,M%$l$F$$$k(B) CPU$B%Q%o!<$O=EMW(B
$B$JMWAG$G$O$J$+$C$?$7!"8=:_$G$b$=$&$G$O$J$$$3$H$,$o$+$C$F$$$k!#(B
$B?7$7$$%^%7%s$G$OIaDL$O(BCPU$B$N@-G=$N8B3&$N$O$k$+$K<jA0$GJ*M}%G%#%9%/(B
 I/O$B$N8B3&$KC#$9$k!#:G0-$N>l9g$G$b(B192MB$B%a%b%j$,I,MW$J$@$1$G$"$k$H(B
$B9M$($?$,!":G=*E*$O;d$?$A$O!"(BCPU $B$H(B disk I/O $B$N%P%i%s%9$r9M$($F(B 
Pentium Pro $B%^%6!<%\!<%I$NBP1~$9$k>e8B$N(B 512MB $B$N(BRAM$B$r$N$;$?!#(B
$BBgItJ,$N(B shell $B%7%9%F%`$G$O$=$l$>$l(B 2000$B%f!<%6$N%"%+%&%s%H$,$"$k$,(B
128MB $B$G$&$^$/F0$$$F$$$k!#(B

$B;d$?$A$O>.$5$J%7%9%F%`$N?t$,A}$($k$3$H$G%a%s%F%J%s%9$NE@$r?4G[$r$7$F(B
$B$$$?!#<B:]$K$O(B 24$BBf$N(B Pentium Pro 200 $B%Y!<%9$N(B FreeBSD $B%7%9%F%`$G$O!"(B
2$BBf$N>.7?%^%k%A%W%m%;%C%5%7%9%F%`$HIU?o$9$k$5$i$K>.7?$N%Y%s%@@=%7%9%F(B
$B%`$N%a%s%F%J%s%9$KHq$d$9;~4V$NH>J,0J2<$@$C$?!#$=$l$,2DG=$K$J$C$?(B
$B<g$JM}M3$O!"$9$Y$F$N(BFreeBSD box$B$N@_Dj$H%"%C%W%G!<%H$O%F%s%W%l!<%H$K$J(B
$B$k%^%7%s(B1$BBf$@$1$G9T$$!"$=$l$r%3%T!<$9$l$P:Q$`$H$$$&$3$H$G$"$k!#$=$l(B
$B$O!"FC$KI,MW$,$"$C$F6KC<$J%+%9%?%^%$%:$r$7$?$j!";q6b$N@aLs$r$7$h$&$H$7(B
$B$F%i%$%;%s%9$r%^%7%s$4$H$KJQ$($F$"$C$?$j$9$k$?$a$K%Y%s%@@=%^%7%s$G$O$G(B
$B$-$J$+$C$?$3$H$G$b$"$k!#(B

FreeBSD $B$O%K%e!<%9G[I[!"%K%e!<%9%j!<%@!<!"(BSendmail $B$N%P%C%/%(%s%I$d$=(B
$B$NB>$N$5$^$6$^$J4IM}>eI,MW$J%^%7%s$J$I$N%5!<%S%9MQ$K@_Dj$r9T$C$?%7%9%F(B
$B%`$GAG@2$i$7$$F/$-$r$7$F$/$l$F$$$k!#C1FH$G:GBg$N%3%9%H$,$+$+$C$F$$$k$b(B
$B$N$O(BISP$B$G$h$/;H$o$l$F$$$k%i%C%/%^%&%s%H$N(BPC$B$G!"DL>o$O%G%#%9%/$r;}$C$F(B
$B$$$k!#$[$H$s$I$N%K%e!<%90J30$NJd=uE*$J%7%9%F%`$O<B:]$N%G%#%9%/5-21AuCV(B
$B$rI,MW$H$7$J$$$?$a?.$8$i$l$J$$Dx0B$$!#(Bshell$B%7%9%F%`$G$O(B4G$B$H(B9G$B$N%G%#(B
$B%9%/(B2$BBf$,M_$7$$$,!"%W%m%-%7%7%9%F%`$G$O0lHLE*$K$O(B4G$B$N%G%#%9%/(B1$BBf$G==J,$@!#(B 
$BL\E*$K1~$8$F(BPC$B$N%O!<%I%&%'%"$NAH9g$o$;$r=@Fp$K9T$&$3$H$,$G$-$k$3$H$O!"(B
$B%a%s%F%J%s%9@-$K1F6A$rM?$($:$K!"$A$g$C$H?.$8$i$l$J$$$[$I$N%3%9%H$N:o8:(B
$B$K$D$J$,$k!#(B

$B7k6I$N$H$3$m(BKISS(Keep It Simple, Stupid:$B%7%s%W%k$G%P%+$J$^$^$K$;$h(B)$B$N(B
$B86B'$rE,MQ$7$?!#(BNFS$B%^%&%s%H$O(B($B<gMW$JItJ,$G$O(B)$B;H$o$J$$$7!"%f!<%6$,(B 
$BG$0U$N(B shell $B%7%9%F%`$K(B login $B$G$-$k$h$&$K$7$h$&$H$O$7$J$+$C$?(B - 
$B%"%+%&%s%H$N$"$k%^%7%s(B1$BBf$K@_Dj$7$?!#%9%l!<%V(B news $B$N@_Dj$r$7$h$&$H$O(B
$B$7$F$$$J$$!#$=$l$>$l$N%K%e!<%9%j!<%@!<%7%9%F%`$OJD$8$F$$$F%f!<%6$,(B1$B$D(B
$B$rA*$V$H@Z$jBX$($O9T$o$J$$!#;d$?$A$OIi2Y$,J,;6$7$F$O$/$l$J$$$N$G$O$J$$(B
$B$+$H?4G[$7$?!#<B:]$K$O%7%9%F%`A4It$G$-$l$$$KJ,;6$7$F$/$l$?!#3N$+$K(B
shell $B%7%9%F%`$N$$$/$D$+$G$OB>$N$b$N$h$j$$$/$i$+Ii2Y$N9b$$$b$N$b$"$k!#(B
$B$1$l$I$b$=$l$OLdBj$K$J$i$J$$$7!"5$$K$9$k$[$I$G$O$J$$!#$?$V$s(B
$B!VJ,;6%7%9%F%`!W$N9M$(J}$H$O0c$C$?F;$J$s$@$m$&!#$@$1$IF0$$$F$$$k!#$=$l(B
$B$G$b$&$^$/F0$$$F$$$k!#(B

$B;d$?$A$O>o$K6l>p$NO"B3$K$5$i$5$l$F$$$k$,!"%7%9%F%`$NDd;_$K$D$$$F:#$G$O(B
$BHs>o$K>/$J$/$J$C$F$$$k!#;d$?$A$O:$Fq$J;~$r2a$4$7$?$,!"$*$+$2$G?7$7$$(B
$B%^%7%s$r9XF~$9$k$+%G%#%9%/$rDI2C$9$k$h$&$J;~$,$-$?>l9g$K$I$N$h$&$J(B
$B%m%8%9%F%#%C%/$r$H$k$Y$-$+$o$+$C$?!#:#$G$O$=$l$O$H$F$bEv$?$jA0$N$3$H$@!#(B
$B%f!<%64D6-$O$=$l$>$l=O@.$5$l$?%^%7%s$N>e$K:n$C$F$"$k!#$5$F(B...$B$=$l$O(B
$B$=$l$@!#;d$?$A$O<!$N%^%7%s$K<h$j$+$+$k$3$H$K$7$h$&!#;d$?$A$O@.D9%+!<%V(B
$B$N$A$g$C$HA0$K0l$DFs$D$N%7%9%F%`$r$*$$$F$*$1$P$$$$!#$=$&$9$l$P$9$Y$F$O(B
$B%,%i%9$N$h$&$K$J$a$i$+$KF0$/!#(B

$B%U%'%"$J8@$$J}$r$9$l$P(B FreeBSD $B$@$1$,;d$?$A$N2a5n$N4V0c$$$r5_$C$F$/$l(B
$B$?$o$1$G$O$J$$!#$7$+$78=:_;d$?$A$K%S%8%M%9$rB3$1$F$$$/NO$rM?$($F$/$l$?(B
$B$N$O$$$:$l$K$7$F$b;d$?$A$NA*Br$7$?$b$N$J$N$@!#(B

Matthew Dillon
Engineering, BEST Internet Communications, Inc.
-----------------------------------

Title: FreeBSD #1 for ISPs!
Author: Matthew Dillon
        Best Internet Communications, Inc.

For the typical modern ISP, the clock probably started running a bit
over 2 years ago.  Sure, there are plenty of older ISPs, but few of
THEM have had to contend with 100%/month growth, most of the larger
ones also starting more as BBS systems then ISPs.  If you were like
us, however, you started right as the Internet really started to
become popular and that meant having to subsequently deal with the
strain of very rapid growth.

For us, 2 years ago was indeed the beginning.  We had made an educated
guess as to our best market, hit it running, and turned out to be
right.  With that out of the way, the name of the game for BEST
Internet was to simply survive the engineering and programming feats
required to support a rapidly exploding user base.

In the very beginning, we used BSDI and FreeBSD, and if the times had
been less trying wouldn't have made the almost fatal mistake of
shifting to larger multi-processor mini's from a brand-name UNIX
vendor who shall remain unidentified.  We somehow convinced ourselves
that moving to larger commercially-supported boxes would both help
sell our service and provide adequate margins for growth.

The mistake almost drove us out of business.  The scalability never
materialized and the work required to maintain the minis went from
difficult to near impossible.  Every hardware addition required a
ridiculous amount of work and money to install.  We couldn't get bug
fixes for weeks or months.  There were all sorts of odd licensing fees
that made it impossible to ""genericize"" machine installations.  I will
spare you the rest of the gory details.  It wasn't a pretty scene.

It was a nightmare made even worse by the fact that so many resources
were concentrated in the minis that a crash, software problem,
internet attack, or user mistake could effectively take down our
entire service.

This situation convinced the entire BEST Engineering department that
minis, the so called ``enterprise servers'', are a huge mistake.  To
make a mini cost effective would require decking each one out with
half a million dollars worth of hardware and disk and then to actually
use it would require putting a lot of marbles in one bag, so to speak.

In moving back to running FreeBSD on rack-mounted Pentium Pro 200's,
there were a couple of issues that concerned us and a couple that did
not.  We knew that the reliability was there, especially with PPro
200's with their integrated ECC and secondary caches.  We had also
learned that the governing limitation to all ISP support boxes is disk
I/O, disk I/O, and disk I/O.  (Short of putting 10 SCSI interfaces in
each of the two mini computers, the ten FreeBSD boxes that replaced
them would win hands down).  We also knew that CPU power would not be
factor and, indeed, it hasn't been - the new machines usually hit
physical disk I/O limits long before the CPU saturated.  Finally, we
knew that we could balance out and tune CPU-verses-disk I/O by adding
memory since the PPro motherboards could accommodate up to 512MB of ram
where we expected to need only 192MB in the absolute worst case.  Most
of shell boxes run with 128MB just fine, supporting up to 2000 user
accounts on each.

What we were worried about was that the maintenance required to
support a larger number of smaller boxes would increase.  In fact, the
time required to maintain 24 PPro 200-based FreeBSD boxes has occupied
less than half the time we spent dealing with the two minis and
plethora of smaller vendor boxes, something which mainly possible
because every single FreeBSD box is configured and updated from a
template machine. That's also something we just couldn't do with the
vendor boxes due to the massive customization each one required and
odd licenses that caused us to try to be frugal in regards to
installations.

FreeBSD has also done an excellent job with service-specific boxes
such as our newsfeeds box, our newsreader boxes, our sendmail back-end
boxes, and other various administrative-duty machines.  Since the
single largest cost for an ISP-capable rack mount PC is usually the
disk drives, most of the non-news auxiliary boxes are incredibly cheap
because they require no real disk storage.  Whereas a shell machine
will have a 4G and two 9G disks to start out with, a proxy box
generally requires only a single 4G disk.  The ability to flexibly
tailor PC hardware configurations to specific tasks can lead to some
incredible cost savings without impacting maintainability.

Ultimately, the KISS principle applies.  No (major) NFS mounts, no
attempt to allow users to log into just any shell machine - we assign
them one and that is where their account resides.  No attempt to slave
news, each newsreader box is self contained and users pick one and
don't switch.  We were worried that the load would not balance well.
In fact, it balances extremely well for all of that.  Sure, some shell
machines are loaded a bit more then others, but if it isn't noticeable
it isn't a problem.  It is, perhaps, a somewhat different approach to
the concept of a ``distributed system'', but it works, nonetheless,
and works very well.

Whereas we used to get a cascade of complaints when some part of the
system would crunch, now we get only a few.  Where we used to have a
difficult time working out the logistics of when to purchase a new
machine or when to add a disk, now it becomes trivial because the
user base on each machine builds, then matures, then... that's it, we
go onto the next machine.  We stay one or two boxes ahead of the
growth curve and everything runs smooth as glass.

I think it would be fair to say that FreeBSD not only saved us from
past mistakes, but now empowers us to continue building our business
at whatever rate we choose.

Matthew Dillon
Engineering, BEST Internet Communications, Inc.
-----------------------------------
-----
  yoshiaki@kt.rim.or.jp
 ($B$&(B)
