免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1572 | 回复: 0
打印 上一主题 下一主题

FreeBSD 上运行 MYSQL 数据库的优化注意 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-17 10:44 |只看该作者 |倒序浏览
FreeBSD 上运行 MYSQL 数据库的优化注意
概要
FreeBSD 7.0包含了大量针对多处理器系统的可伸缩性改进。本文的目的在于整理一系列适用于 FreeBSD 7.0 的运行 MySQL 及 PostgreSQL 的技巧。
硬件准备
一般而言,增加可用的 CPU 数量,会显著地改善数据库的查询性能。除此之外,在规划硬件配置时,还应考虑一些其他问题:

  • 将不同性质的读写操作分散到不同的物理磁盘上
成本方面的考虑,通常说来,对于顺序读写操作,使用ATA/SATA硬盘完全能够胜任。这包括服务器日志、数据库事务日志等等。而对于随机读写操作,如数 据库数据文件,则推荐使用SCSI或SAS硬盘。此外,将不同性质的读写操作分散到不同的物理盘上,有助于降低发生故障时将数据完全丢失的风险,并可以有 效地避免将单块磁盘的I/O性能耗竭,而导致系统响应时间变差。

  • 使用合适的数据块尺寸来初始化文件系统
在初始化文件系统时,数据块尺寸会决定文件系统一次性向磁盘发出读写请求时的数据量。请参考你的数据库的用户手册来了解合适的尺寸大小。对于 UFS 而言,较大的数据块还可以带来的一个“副作用”是,由于大数据块会使文件系统中的重要数据单元——柱面组的数量下降,对性能会有一定改善,并且会显著减少 fsck所需的时间。

  • 使用更多的内存

编译系统
默认配置的 FreeBSD 7.0 采用传统的 4BSD 调度器,因此需要将其替换为 ULE 调度器:
cd /usr/src/sys/`uname -p`/conf
sed -e s,4BSD,ULE,g GENERIC > DB-GENERIC
cd /usr/src
echo KERNCONF=DB-GENERIC >> /etc/make.conf
make buildworld buildkernel && sudo make installkernel installworl
MySQL 的编译
我们推荐使用的 MySQL 版本是 5.0。推荐的 ports.conf 项目为:
databases/mysql*-server: BUILD_OPTIMIZED=yes|WITH_XCHARSET=yes
安装方法:
portinstall databases/mysql50-server
ports安装具体方法:
#cd /usr/ports/databases/mysql51-server #这里以安装mysql5.1为例
#make install clean
#rehash
#cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf #服务器内存1G,但是与apache在一起
/usr/local/share/mysql下面有5个my-xxxx.cnf文件
my-small.cnf 最小配置安装,内存⇐64M,数据数量最少
my-large.cnf 内存=512M
my-medium.cnf 32M
代码:mysql_dbdir="/path/to/MySQL_data"
mysql_enable="YES"其中 /path/to/mysql_data 是 MySQL 数据库所在的位置。在第一次通过 MySQL 的 rc 脚本启动 MySQL 的时候,rc 脚本会负责正确的初始化 MySQL 的数据库。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18630/showart_1419874.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP