最佳MySQL服务器配置以提高性能?

4
我们有一个大小为150GB的数据库,使用MySQL 5.0.45运行MyISAM表,其中有一些大表超过5GB,并且索引占用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%写入)。 谢谢, 大卫


首先只需使用 https://tools.percona.com/wizard 其次按照此指南操作:http://www.percona.com/blog/2014/01/28/10-mysql-settings-to-tune-after-installation/ - Anatoly
1个回答

3
这里的信息不够充分,无法给出一个很好的答案。这取决于应用程序 - 无论是哪些表/索引热门(以及有多热)以及查询是否能有效地使用索引,索引是否存在于内存中,操作系统是否能够缓存代表数据的页面等等。
MySQL手册提供了许多提示,但如果您想要一个适用于很多人的快捷方式,请执行SHOW STATUS和SHOW VARIABLES并查看各种高速缓存的命中率,并相应地扩展高速缓存大小。但并非所有缓存命中都是相同的......
数据库管理是一个复杂的领域,这不是一个普遍可解决的问题。

谢谢你的回答,我明白这个问题没有一个明确的答案,我只是想让大家看看是否有一些设置出了问题。 - David Zhao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接