- 论坛徽章:
- 54
|
本帖最后由 lsstarboy 于 2012-10-26 15:41 编辑
一、FreeBSD的优化您是重新编译内核还是使用sysctl.conf或者loader.conf?
1、作为服务器用,重新编译内核是必须的,主要目的有两个:(1)去掉一些不用的模块,使内核更小,加载的速度会更快;
(2)加一些优化的参数,性能会更好。
我必用的几个:
去掉调试信息:makeoptions, KTRACE,stack,
我不用nfs,所以也去掉
ipv6去掉,用不着, sctp也用不到
所有的scsi系列,都是ahci了,服务器一般也不需要U盘,usb和1394都禁掉
网卡当然保留需要的
smp必用,现在都是多核;
HZ和polling必用,网卡性能会更好;
建议把dummynet加上,说不上什么时候就需要控制流量
我习惯ipfw,把ipfw的那一套加上吧,具体有:- options LIBALIAS
- options IPFIREWALL #firewall
- options IPFIREWALL_VERBOSE #enable logging to syslogd(8)
- options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity
- options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
- options IPFIREWALL_FORWARD #packet destination changes
- options IPFIREWALL_NAT #ipfw kernel nat support
- options IPDIVERT #divert sockets
- options IPSTEALTH #support for stealth forwarding
复制代码 新机器别忘了把ahci加上,测试的成绩可能不明显,但是用起来很有效果。
2、sysctl.conf和loader.conf,这两个都要用,用的目的不一样,我的原则是能在sysctl.conf中用的,尽量不要loader.conf中写,一般loader.conf中处理硬件相关的内容,sysctl.conf中处理系统相关的东西。
具体参数在第三个问题中写。
二、FreeBSD在安装完毕后你都会做那些初始化?
1、rc.conf- sshd_enable="yes"
- syslogd_enable="yes"
- syslogd_flags="-s -s"
- sendmail_enable="NONE"
复制代码 2、.cshrc- setenv PACKAGESITE ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/
复制代码 三、列举一些针对某项功能的优化参数。
做natd服务器的部分常用sysctl.conf:- net.inet.tcp.blackhole=2
- net.inet.udp.blackhole=1
- kern.ipc.somaxconn=8192
- kern.ipc.maxsockets=204800
- kern.ipc.shmmax=2147483648
- kern.ipc.nmbclusters=262144
- net.inet.tcp.msl=2000
- net.inet.tcp.always_keepalive=1
- net.inet.tcp.fast_finwait2_recycle=1
-
- #kern.maxfiles=204800
- #kern.maxfilesperproc=200000
- #kern.maxvnodes=200000
-
- kern.timecounter.hardware=HPET
-
- net.inet.tcp.sendspace=16384
- net.inet.tcp.recvspace=16384
- net.inet.udp.recvspace=65535
- net.inet.udp.maxdgram=57344
- net.local.stream.sendspace=65535
-
- net.inet.tcp.drop_synfin=1
- # net.inet.ip.portrange.randomized=0
-
- net.inet.tcp.keepidle=60000
-
-
- net.inet.ip.redirect=0
- net.inet.ip.sourceroute=0
- net.inet.ip.accept_sourceroute=0
- net.inet.icmp.maskrepl=0
- net.inet.icmp.log_redirect=0
- net.inet.icmp.drop_redirect=1
- net.inet.tcp.icmp_may_rst=0
复制代码 四、基于第三个问题的服务器硬件配置是什么?(CPU、内存)
我用的目前大多数都是pc服务器,dmesg节选:- CPU: Intel(R) Xeon(R) CPU E5504 @ 2.00GHz (2000.11-MHz K8-class CPU)
- real memory = 4299161600 (4100 MB)
- ahci0: AHCI v1.20 with 6 3Gbps ports, Port Multiplier not supported
- em0: <Intel(R) PRO/1000 Network Connection 7.2.3> port 0xcc00-0xcc1f mem 0xfbce0000-0xfbcfffff,0xfbcdc000-0xfbcdffff irq 16 at device 0.0 on pci5
- hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
- Timecounter "HPET" frequency 14318180 Hz quality 950
- qpi0: <QPI system bus> on motherboard
- ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
- ada0: Command Queueing enabled
- ada0: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C)
- ada1: <WDC WD5003ABYX-01WERA1 01.01S02> ATA-8 SATA 2.x device
- ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
- ada1: Command Queueing enabled
- ada1: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C)
复制代码 |
评分
-
查看全部评分
|