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

我们有一个使用MyIsam表运行MySQL 5.0.45的大小为150 GB的数据库,有一些大表的大小超过5 GB,索引为2GB.
服务器配置为:
8GB
双核3.2GHz –启用超线程
一次突袭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%)
谢谢,

大卫

解决方法:

这里没有足够的答案.它取决于应用程序-在哪个表/索引很热(以及多么热)以及查询是否可以有效使用索引,内存中是否存在索引,操作系统是否能够使用索引方面缓存代表数据的页面,依此类推.

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

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

上一篇:java-我可以用Timer对象使程序饱和吗?


下一篇:MySQL:将多个整数字段组合为一个字符串字段?