我在网上一直跟踪这个话题,自己也琢磨了一些,现在不管真假,
总结出来给大家:
1. 标准优化:遵从Oracle技术文档中的说明tune你的Linux,比如
共享内存等等。这里不赘述了,因为文档中很全
2. 根据你的使用情况采取Dedicate型或MTS型数据库。详细方法也看
文档。
3. 如果你不是对数据库中的Java应用特别有需求的话,不要装它,
也不要启动它--如果你装了的话。
4. 对你的服务器来说,最好专用。如果你不专用,说明你对性能并不那么
敏感,也用不着优化了:-)
5. 内存越大越好。但Linux对内存大小有限制,因此需要去找一些Patch
6. 到http://oss.sgi.com区,下载一个SGI's POSIX Asynchronous I/O and Raw I/O
的内核Patch。它能大幅度提高你数据文件的访问速度
7. 如果你采用ext2文件系统,把Block的大小增加到4~8K.其中dbf所在分区的大小
最少弄到8192
8. 尽可能用SCSI硬盘。如果是IDE的,好好调调参数
9. 这里是一个别人写的程序
set -a
VM=/proc/sys/vm
BDFLUSH="40 1024 64 256 500 3000 500 1884 2"
BUFFERMEM="5 8 10"
FREEPAGES="512 1024 3072"
OVERCOMMIT="1"
case $1 in
start)
echo " $BDFLUSH"> $VM/bdflush
echo " $BUFFERMEM"> $VM/buffermem
echo " $FREEPAGES"> $VM/freepages
echo " $OVERCOMMIT"> $VM/overcommit_memory
/sbin/hdparm -k -u 1 -m 32 -c 1 /dev/hda;
/sbin/hdparm -k -u 1 -m 16 -c 1 /dev/hdc;
;;
stop)
touch /root/shouldnt.happen;
;;
*)
echo "USAGE $0 {start|stop}";
;;
esac;
10. 如果你有Solaris for X86的话,可以运用它的分区工具把你的
所有分区都改成UFS。Linux的当前Kernel是支持UFS的。在数据库运用上,
UFS比ext2好
11. 如果可能,应该采用诸如IBM JFS或SGI XFS这样的64位文件系统。
http://oss.sgi.com是个大宝库,你不妨再去看看。这些日志文件系统
不仅能大幅度提高性能,还给你带来其它好处,比如掉电以后用不着
花两个小时检查文件系统
12。 不要用Linux发行版带的核心,要自己编译。关于核心优化,也有
相当多的文章介绍,可以到http://www.linux.com去看看核心tune up的
文章。