如何优化一个64GB内存的MySQL Server(一)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近遇到一个问题,在一台MySQL上进行大量的load data, create temporary table, join update等等操作,整个流程下来需要20个小时。这是一个用mysql进行大数据处理的例子,虽说大数据,但实际数据量停留在千万的级别上,这样效率已经特别低了。</span>

随手查了下系统变量: show global variables. 发现key_buffer_size 等等参数最大不过16M, 一查机器配置,64GB内存的REHL5, 2.6.18的内核。。。


那么问题来了,如何配置一台内存64GB的MySQL Server呢?以下是自己大体估算,修改的一份配置文件:

[mysqld]
....
key_buffer_size = 10240M
max_allowed_packet = 8M
table_open_cache = 512
sort_buffer_size = 512M
read_buffer_size = 256M
read_rnd_buffer_size = 256M
myisam_sort_buffer_size = 512M
thread_concurrency = 16
max_connections = 3000
query_cache_limit = 2M
query_cache_size = 256M
tmp_table_size = 4096M
max_heap_table_size = 4096M
join_buffer_size = 4096M

重启服务器后,再次运行整个流程,这次时间只用了3个小时。看来参数设置对MySQL Server性能的影响是比较大的。

SDE大都对数据库系统有一定了解,但能够特别深入的比较少,我自己也属于这种情况。因此趁此机会,利用可以接下来的假期一点点研究下MySQL的各类参数对性能的影响,参数的优化等等


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值