diff options
author | dillon <dillon@FreeBSD.org> | 2002-08-29 20:34:06 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 2002-08-29 20:34:06 +0000 |
commit | c72f9f522eb030e55f95a5a07bfb06c8c594d513 (patch) | |
tree | cae4b597c69224db74c117287c682fd0474c4027 /share | |
parent | a9901abd65684d503ef81966ede6f2b7bb982af3 (diff) | |
download | FreeBSD-src-c72f9f522eb030e55f95a5a07bfb06c8c594d513.zip FreeBSD-src-c72f9f522eb030e55f95a5a07bfb06c8c594d513.tar.gz |
Cleanup grammer related to PR 40907 and add a section on TCP delayed
acks as suggested by Mike Harding <mvh@ix.netcom.com>
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man7/tuning.7 | 54 |
1 files changed, 39 insertions, 15 deletions
diff --git a/share/man/man7/tuning.7 b/share/man/man7/tuning.7 index c04eac0..8306f76 100644 --- a/share/man/man7/tuning.7 +++ b/share/man/man7/tuning.7 @@ -222,7 +222,7 @@ options for this would be .Dq Li "newfs -f 1024 -b 8192 ..." . .Pp If a large partition is intended to be used to hold fewer, larger files, such -as a database files, you can increase the +as database files, you can increase the .Em bytes/i-node ratio which reduces the number of i-nodes (maximum number of files and directories that can be created) for that partition. @@ -273,7 +273,7 @@ are two limitations to softupdates that you should be aware of when determining whether to use it on a filesystem. First, softupdates guarantees filesystem consistency in the case of a crash but could very easily be several seconds (even a minute!) -behind updating the physical disk. +behind on pending write to the physical disk. If you crash you may lose more work than otherwise. Secondly, softupdates delays the freeing of filesystem @@ -291,7 +291,7 @@ A number of run-time options exist that can help you tune the system. The most obvious and most dangerous one is .Cm async . -Do not ever use it, it is far too dangerous. +Do not ever use it; it is far too dangerous. A less dangerous and more useful .Xr mount 8 @@ -455,7 +455,7 @@ and .Va net.inet.tcp.recvspace sysctls are of particular interest if you are running network intensive applications. -This controls the amount of send and receive buffer space +They control the amount of send and receive buffer space allowed for any given TCP connection. The default sending buffer is 32K; the default receiving buffer is 64K. @@ -499,7 +499,7 @@ scaling extension of the TCP protocol, which is controlled by the .Va net.inet.tcp.rfc1323 sysctl. These extensions should be enabled and the TCP buffer size should be set -to a value larger than 65536 in order to obtain good performance out of +to a value larger than 65536 in order to obtain good performance from certain types of network links; specifically, gigabit WAN links and high-latency satellite links. RFC1323 support is enabled by default. @@ -524,6 +524,29 @@ In such environments, setting the sysctl to 0 may reduce the occurrence of TCP session disconnections. .Pp The +.Va net.inet.tcp.delayed_ack +TCP feature is largly misunderstood. Historically speaking this feature +was designed to allow the acknowledgement to transmitted data to be returned +along with the response. For example, when you type over a remote shell +the acknowledgement to the character you send can be returned along with the +data representing the echo of the character. With delayed acks turned off +the acknowledgement may be sent in its own packet before the remote service +has a chance to echo the data it just received. This same concept also +applies to any interactive protocol (e.g. SMTP, WWW, POP3) and can cut the +number of tiny packets flowing across the network in half. The FreeBSD +delayed-ack implementation also follows the TCP protocol rule that +at least every other packet be acknowledged even if the standard 100ms +timeout has not yet passed. Normally the worst a delayed ack can do is +slightly delay the teardown of a connection, or slightly delay the ramp-up +of a slow-start TCP connection. While we aren't sure we believe that +the several FAQs related to packages such as SAMBA and SQUID which advise +turning off delayed acks may be refering to the slow-start issue. In FreeBSD +it would be more beneficial to increase the slow-start flightsize via +the +.Va net.inet.tcp.slowstart_flightsize +sysctl rather then disable delayed acks. +.Pp +The .Va net.inet.tcp.inflight_enable sysctl turns on bandwidth delay product limiting for all TCP connections. The system will attempt to calculate the bandwidth delay product for each @@ -664,7 +687,7 @@ buffers. You can do a simple calculation to figure out how many you need. If you have a web server which maxes out at 1000 simultaneous connections, and each connection eats a 16K receive and 16K send buffer, you need -approximate 32MB worth of network buffers to deal with it. +approximately 32MB worth of network buffers to deal with it. A good rule of thumb is to multiply by 2, so 32MBx2 = 64MB/2K = 32768. So for this case @@ -706,7 +729,7 @@ so you should not need to modify this parameter except under extreme circumstances. .Sh KERNEL CONFIG TUNING There are a number of kernel options that you may have to fiddle with in -a large scale system. +a large-scale system. In order to change these options you need to be able to compile a new kernel from source. The @@ -748,11 +771,11 @@ Some clones may be recognized as a Pentium or even a 486 and not be able to boot without those options. If it works, great! The operating system -will be able to better-use higher-end CPU features for MMU, task switching, +will be able to better use higher-end CPU features for MMU, task switching, timebase, and even device operations. Additionally, higher-end CPUs support -4MB MMU pages which the kernel uses to map the kernel itself into memory, -which increases its efficiency under heavy syscall loads. +4MB MMU pages, which the kernel uses to map the kernel itself into memory, +increasing its efficiency under heavy syscall loads. .Sh IDE WRITE CACHING .Fx 4.3 flirted with turning off IDE write caching. @@ -763,8 +786,8 @@ Basically the problem is that IDE drives lie about when a write completes. With IDE write caching turned on, IDE hard drives will not only write data to disk out of order, they -will sometimes delay some of the blocks indefinitely when under heavy disk -loads. +will sometimes delay some of the blocks indefinitely under heavy disk +load. A crash or power failure can result in serious filesystem corruption. So our default was changed to be safe. @@ -779,8 +802,9 @@ If IDE write caching is turned off, you can turn it back on by setting the .Va hw.ata.wc loader tunable to 1. -More information on tuning the ATA driver system may be found in -.Xr ata 4 . +More information on tuning the ATA driver system may be found in the +.Xr ata 4 +man page. .Pp There is a new experimental feature for IDE hard drives called .Va hw.ata.tags @@ -834,7 +858,7 @@ Use 100BaseT rather than 10BaseT, or use 1000BaseT rather then 100BaseT, depending on your needs. Most bottlenecks occur at the WAN link (e.g.\& modem, T1, DSL, whatever). -If expanding the link is not an option it may be possible to use +If expanding the link is not an option it may be possible to use the .Xr dummynet 4 feature to implement peak shaving or other forms of traffic shaping to prevent the overloaded service (such as web services) from affecting other |