性能最佳的MySQL服务器配置?

时间:2010-09-13 17:05:04

标签: mysql performance

我们有一个大小为150 GB的数据库,使用MyIsam表运行MySQL 5.0.45,大型表大小超过5 GB,索引为2GB。 服务器配置是: 8GB 双核3.2GHz - 启用超线程 单raid 5 - SCSI 1GB尼克 64位操作系统

这是我们的my.cnf文件:

[client]
port            = 3306
socket          = /var/lib/mysql/mysql.sock

[mysqld]
log=/var/log/mysqld.log
log-slow-queries=/var/log/mysqld-slow.log
set-variable=long_query_time=2
set-variable=sql_mode=ANSI_QUOTES
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
max_connections = 100
key_buffer = 384M
max_allowed_packet = 16M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size = 32M
thread_concurrency = 3


[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M



[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

建议非常感谢提高查询性能(80%读取/ 20%写入) 谢谢,

大卫

1 个答案:

答案 0 :(得分:3)

这里的答案还不够。这取决于应用程序 - 无论是哪些表/索引都很热(以及有多热),以及查询是否可以有效地使用索引,无论索引是否存在于内存中,无论操作系统是否能够缓存表示数据的页面,依此类推。

MySQL手册有很多提示,但是如果你想要一个适用于很多人的快捷方式,请执行SHOW STATUS和SHOW VARIABLES并查看各种缓存的命中率,并相应地扩展缓存大小。但并非所有缓存命中都是相同的......

数据库管理是一个复杂的领域,它不是一个通常可解决的问题。