荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Pazu (质变), 信区: Database
标  题: MYSQL性能优化(2)
发信站: BBS 荔园晨风站 (Tue Apr 18 11:21:37 2000), 转信


 10.2.1 编译和链接怎样影响MySQL的速度
大多数下列测试在Linux上并用MySQL基准进行的,但是它们应该对其他操作系统和工作
负载给出一些指示。

当你用-static链接时,你得到最快的可执行文件。使用Unix套接字而非TCP/IP连接一
个数据库也可给出好一些的性能。

在Linux上,当用pgcc和-O6编译时,你将得到最快的代码。为了用这些选项编译
sql_yacc.cc,你需要大约200M内存,因为gcc/pgcc需要很多内存使所有函数嵌入
(inline)。在配置MySQL时,你也应该设定CXX=gcc以避免包括libstdc++库(它不需要)。

只通过使用一个较好的编译器或较好的编译器选项,在应用中你能得到一个10-30%的
加速。如果你自己编译SQL服务器,这特别重要!

在Intel上,你应该例如使用pgcc或Cygnus CodeFusion编译器得到最大速度。我们已
经测试了新的 Fujitsu编译器,但是它是还没足够不出错来优化编译MySQL。

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

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


--



            我和我的影子。

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.0.189]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店