[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nfs problem, might be deep, but more likely i'm a bonehead



You failed to mention what kind of hardware the server is running. I've 
always had trouble, regardless of operating system (tried all 
combinations of Linux, FreeBSD, and OpenBSD as both server and client), 
when the client is significantly faster than the server (even a P2 266MHz 
running as a client on a P1 100MHz sees the same problem you had). There
has recently been a lot of work in the FreeBSD NFS code/VM system (I 
think Slashdot even covered this). Anyone know if that work is easily 
portable to the OpenBSD codebase? When I get a moment, I might put 
FreeBSD -current back on a few scratch machines and see if it solves 
the problem. But, I'd be surprised, my impression has been that the 
client is just too fast, sends out a whole s***load of requests, starts 
an exponential decay for retransmission when the server can't keep up, 
and eventually gives up. I've only ever had trouble when doing things 
like copying large files or building the world over a mounted share, so 
for casual use you might be able to get away with it.

If your experience is like mine, though, I'd guess your best bet is to 
improve the IO thruput on the server, the easiest way is probably by adding 
memory and/or investing in faster disks.

Of course, I could be completely wrong, because I lack the $$ for SCSI 
and my trusty old pentium machine has all the EDO ram it can handle.

Let me know if you have any success.

Cheers,
Brian Szymanski
bks10@cornell.edu

On Wed, 2 Jan 2002 simonlok@mac.com wrote:

> The machine is a Pentium III, 1.0 GHz, SuperMicro 370SSE
> motherboard (815E), Crucial PC133, 2x256MB RAM.  I'm
> using onboard ethernet ports.  I've got obsd 3.0 -stable running
> on it.  I've put the dmesg inline into this email at the bottom.
> 
> So, here is the output of mount:
> 
> /dev/wd0a on / type ffs (local, softdep)
> /dev/wd0d on /usr type ffs (local, noatime, softdep)
> /dev/wd0e on /var type ffs (local, noatime, softdep)
> /dev/wd0f on /tmp type ffs (local, noatime, softdep)
> /dev/sd0a on /export type ffs (NFS exported, local, noatime, with 
> quotas, softdep)
> amd:11258 on /home type nfs (v2, udp, intr, timeo=100, retrans=100)
> localhost:/export on /mnt type nfs (v3, udp, timeo=100)
> 
> I download a copy of bonnie++ from http://www.coker.com.au/bonnie++/
> 
> I change directory in /export (the local mount) and run bonnie, 
> spectacular
> results:
> 
> Version 1.02a       ------Sequential Output------ --Sequential Input- 
> --Random-
>                      -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- 
> --Seeks--
> Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  
> /sec %CP
> localhost      300M 18860  99 36062  34  8183   3 26431  97 39553  12 
> 109.6   0
>                      ------Sequential Create------ --------Random 
> Create--------
>                      -Create-- --Read--- -Delete-- -Create-- --Read--- 
> -Delete--
>                files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  
> /sec %CP
>                   16   497  99 +++++ +++ 10410  89   490  99   489  99  
> 1276  97
> localhost,300M,18860,99,36062,34,8183,3,26431,97,39553,12,109.6,0,16,497,99,
> +++++,+++,10410,89,490,99,489,99,1276,97
> 
> I change directory into /mnt to see how the loopback NFS performance 
> looks like
> and run bonnie++... the machine just hangs.  The console doesn't drop to 
> debug
> mode, if you hit enter, the command prompt returns, but if you type a 
> command
> hit enter (like cd /tmp) and hit enter, the command prompt hangs and 
> doesn't
> come back.  Same behavior with remote consoles on a different machine.
> 
> So I figured, got to be a hardware problem, right?  I ran some torture 
> testing
> programs that I wrote along with some others that I found on freshmeat
> that test CPU and memory, the machine checks out okay.  No crash, no 
> stalls.
> Bonnie, which is a heavy disk testing program runs fine on locally 
> mounted
> volumes, but over NFS, it blows it up.  I tried mounting the NFS volume 
> from
> a different obsd machine, it mounts, I can read and write, and 
> everything is
> normal, but if I run bonnie, same results, hang.  So then I tried the 
> same thing
> with new hardware, this time a P4, Intel 850GB motherboard 512MB 
> (4x128MB)
> of RIMMs... same result.  Hang.
> 
> What am I doing wrong?  Any advice would be greatly appreciated.  Thanks
> in advance.
> 
> 
> OpenBSD 3.0-stable (LOKTEK) #0: Sun Dec 30 11:04:10 GMT 2001
>      scl@noname:/home/scl/src/sys/arch/i386/compile/LOKTEK
> cpu0: Intel Pentium III (Coppermine) ("GenuineIntel" 686-class) 1.01 GHz
> cpu0: 
> FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SYS,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,
> FXSR,SIMD
> real mem  = 535408640 (522860K)
> avail mem = 492568576 (481024K)
> using 5689 buffers containing 26873856 bytes (26244K) of memory
> mainbus0 (root)
> bios0 at mainbus0: AT/286+(00) BIOS, date 11/13/01, BIOS32 rev. 0 @ 
> 0xfdb80
> apm0 at bios0: Power Management spec V1.2
> apm0: AC on, battery charge unknown
> pcibios0 at bios0: rev. 2.1 @ 0xf0000/0x10000
> pcibios0: PCI IRQ Routing Table rev. 1.0 @ 0xf37c0/224 (12 entries)
> pcibios0: PCI Interrupt Router at 000:31:0 ("Intel 82801AA LPC" rev 0x00)
> pcibios0: PCI bus #1 is the last bus
> bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1000
> pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
> pchb0 at pci0 dev 0 function 0 "Intel 82815 Hub" rev 0x02: rng active, 
> 8Kb/sec
> vga1 at pci0 dev 2 function 0 "Intel 82815 Graphics" rev 0x02
> wsdisplay0 at vga1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> ppb0 at pci0 dev 30 function 0 "Intel 82801BA AGP" rev 0x11
> pci1 at ppb0 bus 1
> twe0 at pci1 dev 0 function 0 "3ware Escalade IDE RAID" rev 0x12: irq 11
> twe0: Escalade V5.7
> scsibus0 at twe0: 16 targets
> sd0 at scsibus0 targ 0 lun 0: <3WARE, Host drive  #00, > SCSI2 0/direct 
> fixed
> sd0: 95395MB, 12161 cyl, 255 head, 63 sec, 512 bytes/sec, 195369520 sec 
> total
> stray interrupt 7
> fxp0 at pci1 dev 4 function 0 "Intel 82557" rev 0x08: irq 11, address 
> 00:30:48:41:0d:5c
> inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
> fxp1 at pci1 dev 8 function 0 "Intel 82562" rev 0x03: irq 11, address 
> 00:30:48:41:0d:5d
> inphy1 at fxp1 phy 1: i82562EM 10/100 media interface, rev. 0
> pcib0 at pci0 dev 31 function 0 "Intel 82801BA LPC" rev 0x11
> pciide0 at pci0 dev 31 function 1 "Intel 82801BA IDE" rev 0x11: DMA, 
> channel 0 wired to compatibility, channel 1 wired to compatibility
> wd0 at pciide0 channel 0 drive 1: <QUANTUM FIREBALL1080A>
> wd0: 8-sector PIO, LBA, 1039MB, 2112 cyl, 16 head, 63 sec, 2128896 
> sectors
> wd0(pciide0:0:1): using PIO mode 4, DMA mode 2
> atapiscsi0 at pciide0 channel 1 drive 0
> scsibus1 at atapiscsi0: 2 targets
> cd0 at scsibus1 targ 0 lun 0: <MATSHITA, CD-ROM CR-177, 7T03> SCSI0 
> 5/cdrom removable
> cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2
> uhci0 at pci0 dev 31 function 2 "Intel 82801BA USB" rev 0x11: irq 11
> usb0 at uhci0: USB revision 1.0
> uhub0 at usb0
> uhub0: vendor 0x0000 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 2 ports with 2 removable, self powered
> "Intel 82801BA SMBus" rev 0x11 at pci0 dev 31 function 3 not configured
> uhci1 at pci0 dev 31 function 4 "Intel 82801BA USB2" rev 0x11: irq 10
> usb1 at uhci1: USB revision 1.0
> uhub1 at usb1
> uhub1: vendor 0x0000 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub1: 2 ports with 2 removable, self powered
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pmsi0 at pckbc0 (aux slot)
> pckbc0: using irq 12 for aux slot
> wsmouse0 at pmsi0 mux 0
> pcppi0 at isa0 port 0x61
> sysbeep0 at pcppi0
> npx0 at isa0 port 0xf0/16: using exception 16
> pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
> fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
> fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
> biomask cc40 netmask cc40 ttymask dc42
> pctr: 686-class user-level performance counters enabled
> mtrr: Pentium Pro MTRR support
> dkcsum: sd0 matched BIOS disk 81
> dkcsum: wd0 matched BIOS disk 80
> root on wd0a
> rootdev=0x0 rrootdev=0x300 rawdev=0x302