你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
MySQL中文参考手册---10 从MySQL得到最大的性能(3)
 

这里是我们做过的一些测量表:

  • 如果你以-O6使用pgcc并且编译任何东西,sql/Index.html'>mysqld服务器是比用gcc快11%(用字符串99的版本)。
  • 如果你动态地链接(没有-static),结果慢了13%。注意你仍能使用一个动态连接的MySQL库。只有服务器对性能是关键的。
  • 如果你使用TCP/IP而非Unix套接字,结果慢7.5%。
  • 在一个SunSPARCstation10上,gcc2.7.3是比SunProC++4.2快13%。
  • 在Solaris2.5.1上,在单个处理器上MIT-pthreads比带原生线程的Solaris慢8-12%。以更多的负载/cpus,差别应该变得更大。

由TcX提供的MySQL-Linux的分发用pgcc编译并静态链接。

10.2.2磁盘问题

  • 正如前面所述,磁盘寻道是一个性能的大瓶颈。当数据开始增长以致缓存变得不可能时,这个问题变得越来越明显。对大数据库,在那你或多或少地要随机存取数据,你可以依靠你将至少需要一次磁盘寻道来读取并且几次磁盘寻道写入。为了使这个问题最小化,使用有低寻道时间的磁盘。
  • 为了增加可用磁盘轴的数量(并且从而减少寻道开销),符号联接文件到不同磁盘或分割磁盘是可能的。
    使用符号连接
    这意味着你将索引/数据文件符号从正常的数据目录链接到其他磁盘(那也可以被分割的)。这使得寻道和读取时间更好(如果磁盘不用于其他事情)。见10.2.2.1使用数据库和表的符号链接。
    分割
    分割意味着你有许多磁盘并把第一块放在第一个磁盘上,在第二块放在第二个磁盘上,并且第n块在第(nmodnumber_of_disks)磁盘上,等等。这意味着,如果你的正常数据大小于分割大小(或完美地排列过),你将得到较好一些的性能。注意,分割是否很依赖于OS和分割大小。因此用不同的分割大小测试你的应用程序。见10.8使用你自己的基准。注意对分割的速度差异依赖于参数,取决于你如何分割参数和磁盘数量,你可以得出以数量级的不同。注意你必须选择为随机或顺序存取优化。
  • 为了可靠,你可能想要使用袭击RAID0+1(分割+镜像),但是在这种情况下,你将需要2*N个驱动器来保存N个驱动器的数据。如果你有钱,这可能是最好的选择!然而你也可能必须投资一些卷管理软件投资以高效地处理它。
  • 一个好选择是让稍重要的数据(它能再生)上存在RAID0磁盘上,而将确实重要的数据(像主机信息和日志文件)存在一个RAID0+1或RAIDN磁盘上。如果因为更新奇偶位你有许多写入,RAIDN可能是一个问题。
  • 你也可以对数据库使用的文件系统设置参数。一个容易的改变是以noatime选项挂装文件系统。这是它跳过更新在inode中的最后访问时间,而且这将避免一些磁盘寻道。

10.2.2.1为数据库和表使用符号链接

你可以从数据库目录移动表和数据库到别处,并且用链接到新地点的符号代替它们。你可能想要这样做,例如,转移一个数据库到有更多空闲空间的一个文件系统。

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089