WEB开发网
开发学院数据库MySQL 从MySQL得到最大的性能 阅读

从MySQL得到最大的性能

 2008-09-09 11:11:32 来源:WEB开发网   
核心提示: 因为我们没在很多平台上运行生产MySQL,我们忠告你在可能选择它前,从MySQL得到最大的性能(2),测试你打算运行的平台,其他建议:* 如果你有足够的RAM,只通过使用一个较好的编译器或较好的编译器选项,在应用中你能得到一个10-30%的加速,你能删除所有交换设备,一些操作系统在某些情况

因为我们没在很多平台上运行生产MySQL,我们忠告你在可能选择它前,测试你打算运行的平台。

其他建议:

* 如果你有足够的RAM,你能删除所有交换设备。一些操作系统在某些情况下将使用一个SWAP设备,即使你有空闲的内存。

* 使用--skip-locking的MySQL选项避免外部锁定。注意这将不影响MySQL功能,只要它仅运行在一个服务器上。只要在你运行myisamchk以前,记得要停掉服务器(或锁定相关部分)。在一些系统上这个开关是强制的,因为外部锁定不是在任何情况下都工作。当用MIT-pthreads编译时,--skip-locking选项缺省为打开(on),因为flock()没在所有的平台上被MIT-pthreads充分支持。唯一的情况是如果你对同一数据运行MySQL服务器(不是客户),你不能使用--skip-locking之时,否则对没有先清掉(flushing)或先锁定mysqld服务器的表上运行myisamchk。你仍然能使用LOCK TABLES/ UNLOCK TABLES,即使你正在使用--skip-locking。

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服务器,这特别重要!

上一页  1 2 3 4 5 6 7  下一页

Tags:MySQL 得到 最大

编辑录入:coldstar [复制链接] [打 印]
赞助商链接