>> 欢迎您, 傲气雄鹰: 重登陆 | 退出 | 注册 | 资料 | 设置 | 排行 | 新贴 | 精华 | 管理 | 帮助 首页

  小榕软件实验室
  刀光雪影
  FreeBSD4.3的优化测试!
发表文章 发表涂鸦
  回复数:5  点击数:131 将此页发给您的朋友        
作者 主题: FreeBSD4.3的优化测试! 回复 | 收藏 | 打印 | 篇末
永远的FLASH帅哥哦
级别:刀光雪影版主
威望:3
经验:1
货币:5852
体力:100
来源:江苏
总发帖数:2264
注册日期:2002-02-11
查看 邮件 主页 QQ 消息 引用 复制 下载 

这是我在补天公司的一个朋友的原创,希望Like FreeBSD的朋友能喜欢!

140是我们公司内部的一台ftp服务器,同时还运行apache、mysql、bind以及qmail邮件系统,os当然是我最喜欢的freebsd了,版本是4.3,今天对他进行了优化配置,结果令我十分满意。

这次主要还是对内核和文件系统进行优化,首先就是重新配置freebsd的内核。由于刚安装好freebsd后,所产生的通用内核kernel.generic虽然已经能够满足正常运行freebsd的需要,但是这不是针对自己电脑配置的内核,而且通用内核中有很多不必要的硬件驱动程序,这些程序不仅使启动时自动检测硬件所需要的时间变长,并且占用了内存空间,由于内核是系统中最重要的部分,将一直常驻在内存中,因此,多余的内核驱动程序浪费了宝贵的物理内存,对系统性能有一定的影响,所以必须对他进行重新配置。

一 对内核的优化配置
1 修改内核的配置文件
freebsd的内核配置文件在/usr/src/sys/i386/conf目录下,generic就是通用内核kernel.generic的配置文件,也是我们要修改的对象。
# cd /usr/src/sys/i386/conf
# cp generic generic.old (备份通用内核配置文件为generic.old)

首先删除不必要的硬件支持选项,这就要求你必须详细地了解自己电脑的硬件信息,如:硬盘是scsi还是ide,网卡的interface(ifconfig查看)等等,只有你了解了这些信息才能正确修改内核配置文件。

下面是我修改后的配置文件,可以参考一下:
# based on generic

machine i386
cpu i686_cpu

ident tuned
maxusers 512
options nmbclusters=65536

options inet #internetworking
options ffs #berkeley fast filesystem
options ffs_root #ffs usable as root device [keep this!]
options softupdates #enable ffs soft updates support
options mfs #memory filesystem
options procfs #process filesystem
options compat_43 #compatible with bsd 4.3 [keep this!]
options uconsole #allow users to grab the console
options userconfig #boot -c editor
options visual_userconfig #visual boot -c editor
options ktrace #ktrace(1) support
options sysvshm #sysv-style shared memory
options sysvmsg #sysv-style message queues
options sysvsem #sysv-style semaphores
options p1003_1b #posix p1003_1b real-time extensions
options _kposix_priority_scheduling
options kbd_install_cdev # install a cdev entry in /dev



device isa
device pci

device fdc0 at isa? port io_fd1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1

device ata0 at isa? port io_wd1 irq 14
device ata1 at isa? port io_wd2 irq 15
device ata
device atadisk # ata disk drives
options ata_static_id #static device numbering



device atkbdc0 at isa? port io_kbd
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
device vga0 at isa?
pseudo-device splash
device sc0 at isa? flags 0x100

device npx0 at nexus? port io_npx irq 13

device sio0 at isa? port io_com1 flags 0x10 irq 4
device sio1 at isa? port io_com2 irq 3
device sio2 at isa? disable port io_com3 irq 5
device sio3 at isa? disable port io_com4 irq 9

device ppbus # parallel port bus (required)

device miibus # mii bus support
device dc # dec/intel 21143 and various workalikes

pseudo-device loop # network loopback
pseudo-device ether # ethernet support
pseudo-device pty # pseudo-ttys (telnet etc)



2 编译、安装内核
# /usr/sbin/config generic
# cd ../../compile/generic
# make depend
# make
# make install

这个过程中很可能出现错误,仔细看看报错的内容,再修改内核配置文件,修改之后一定要把/usr/src/sys/compile下的generic这个目录删除掉,然后重新执行/usr/sbin/config generic,直到通过。

内核成功安装之后,原来的内核将自动更名为/kernel.old,然后就可以重新启动,检查新内核是否正确。
# reboot

如果新的内核的配置不正确,导致某些硬件不能正确检测而引起的不能正常启动,这个时候就需要用老的内核进入系统。选择不通内核必须通过boot loader的交互界面进行,然后输入load kernel.old使用老内核启动系统。

二 对文件系统的优化配置(打开soft updates)
soft updates是提高文件系统更新性能的一种手段,虽然这是一种比较有争议的方法,但是优化效果是很明显的。

首先进入单用户模式:boot -s
在命令行下输入:
# /sbin/tunefs -n enable /
# /sbin/tunefs -n enable /usr
# /sbin/tunefs -n enable /var
# /sbin/tunefs -n enable /tmp
# reboot

最后还要修改一下/etc/sysctl.conf
vfs.vmiodirenable=1
kern.ipc.somaxconn=4096
kern.maxfiles=65536

三 性能测试
这次我先测试了一下文件系统在优化前、后的性能,其他还没来的及测试。
测试软件:postmark-1_5.c
由于代码太长,可以到我主页下载:http://www.patching.net/wadia/tools/postmark-1_5.c

测试:
# ./postmark
pm>set size 10000 20000
pm>set number 1000
pm>set transactions 50000
pm>run
运行测试程序,这个过程要花很长时间,要耐心等待。

我在优化前、后各测试了3次,然后取其平均值:

-=优化前=- -=优化后=-
1 transactions/s:34 1 transactions/s:122
2 date read:272.96 k/s 2 date read:983.70 k/s
3 date written:281.46k/s 3date written:1014.33k/s

这些数据是我在系统启动后运行了apache、mysql、proftpd、bind、qmail的环境下得到的,从获得的数据来看,优化后比优化前的性能提高了将近4倍,基本上达到了预期目标。

当然,优化freebsd的方法还很多,希望我这篇拙作能够抛砖引玉,大家共同来研究freebsd。

补充日期: 2001-12-8 2:14:55
补:由于论坛原因,文章中的generic均为大写。
----------------------------------------------------------
H4技术组:http://www.h4h4.com

编辑 删除 发表时间发表于 2002-03-25.13:35:34   MSIE 6.0 Windows 2000IP: 已记录
扑街帅哥哦
级别:管理员
威望:4
经验:122
货币:6108
体力:100
来源:青山精神病院
总发帖数:2267
注册日期:2001-07-23
查看 邮件 主页 QQ 消息 引用 复制 下载 

我也曾对FREEBSD4.3做过优化,不过很惭愧,是在一个老师指导下完成的,这篇文章的方法比我的好多了,有空写下来发到这里给大家看看~~~
----------------------------------------------------------
今生无缘,泪如雨下,我试着忘记红尘中你留下的故事,可数日以来我始终无法走出你曾给我的感情世界,我深知让往事随风不是说说那么容易的. 天空下我们彼此站成了两个无法相溶的世界我却又总想忍住悲伤,而思念像穿透了灵魂一般不可抑制

编辑 删除 发表时间发表于 2002-03-25.13:50:13   MSIE 6.0b Windows 98IP: 已记录
永远的FLASH帅哥哦
级别:刀光雪影版主
威望:3
经验:1
货币:5852
体力:100
来源:江苏
总发帖数:2264
注册日期:2002-02-11
查看 邮件 主页 QQ 消息 引用 复制 下载 

哈哈,我朋友牛吧!
扑街啊,我们有空的话写写自己学习UNIX的心得吧!

[ 此消息由 永远的FLASH 在 2002-03-25.16:29:31 编辑过 ]
----------------------------------------------------------
H4技术组:http://www.h4h4.com

编辑 删除 发表时间发表于 2002-03-25.13:52:10   MSIE 6.0 Windows 2000IP: 已记录
扑街帅哥哦
级别:管理员
威望:4
经验:122
货币:6108
体力:100
来源:青山精神病院
总发帖数:2267
注册日期:2001-07-23
查看 邮件 主页 QQ 消息 引用 复制 下载 

原文由 永远的FLASH 发表:
哈哈,我朋友牛吧!
扑街啊,我们有空的话写写自己学习UNIX的心得吧!

可以可以,交流一下,哈哈,我现是在一家网络上班,是偷着上网的,已经被扣了很多钱了,不过说起来无论是LINUX还是UNIX下的编程还是其它方面的,其实多找些资料来看看,然后根据人家的方法来做,再把自己的想法加进去,修改一下后,又是一个好的程序.同时自己又学到一些东西了.增加经验,可不是盗窃行为~~~~~~~~~哪个编程员不是这样做的???


[ 此消息由 永远的FLASH 在 2002-03-25.16:29:52 编辑过 ]
----------------------------------------------------------
今生无缘,泪如雨下,我试着忘记红尘中你留下的故事,可数日以来我始终无法走出你曾给我的感情世界,我深知让往事随风不是说说那么容易的. 天空下我们彼此站成了两个无法相溶的世界我却又总想忍住悲伤,而思念像穿透了灵魂一般不可抑制

编辑 删除 发表时间发表于 2002-03-25.14:00:37   MSIE 6.0b Windows 98IP: 已记录
帅哥哦
级别:长 老 级
威望:1
经验:0
货币:1693
体力:95.4
来源:211.90.123.*
总发帖数:930
注册日期:2002-01-19
查看 邮件 主页 QQ 消息 引用 复制 下载 

freebsd,我的最爱
----------------------------------------------------------
你们到底他妈的有什么不爽的?

编辑 删除 发表时间发表于 2002-03-26.10:38:21   MSIE 6.0 Windows NT 5.2IP: 已记录
蓝骑士帅哥哦
级别:老 站 友
威望:0
经验:0
货币:1066
体力:80.5
来源:202.100.249.*
总发帖数:382
注册日期:2002-02-16
查看 邮件 主页 QQ 消息 引用 复制 下载 

呵呵~~~~
看来你又弄到不少咯

编辑 删除 发表时间发表于 2002-03-27.01:08:30   MSIE 5.01 Windows 2000IP: 已记录
选择回复        
 快速回复主题: >>>高级模式
  用户名: 没有注册? 密码: 忘记密码?
记住密码
HTML语法
禁止IDB代码
禁止表情字符

[按 Ctrl+Enter 快捷键可直接提交帖子]
 投票评分: 共 0 票  
所有时间均为: 北京时间 ↑TOP 
关闭主题 拉前主题 移动主题 主题置顶 取消置顶 总固顶主题 取消总固顶 加入精华 移出精华 删除主题