问一下 MySQL 参数 大数据量低并发的优化建议

2015-08-12 11:21:08 +08:00
 kxjhlele
我是windows server2008 r2系统,128G内存,平时可用60G跑MySQL 极限可以100G跑MySQL

基本就我自己使用这个服务器,平时主要就是 LOAD DATA INFILE 数据,查询数据,主要就是Count()。但是数据量比较大,基本一个csv都是50G到60G大概10亿行吧,因为都是单纯的查询,所以采用的引擎是myisam。

遇到过一个问题,在一张表上面建立一个索引查询ok,在增加一个索引查询ok,在增加一个索引查询就都是空数据了,搞不懂为啥会这样。

尝试过PostgreSQL,但是我们的csv 换行符间隔符都不一样,导入PostgreSQL很多都出错。有其他建议吗?

想问一下下面这个参数可以吗?水平比较低。还有什么优化建议?
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set=gbk

[mysqld]
port = 3306
socket = /tmp/mysql.sock
character-set-server=gbk
skip_name_resolve
skip-slave-start

interactive_timeout = 28800000
wait_timeout = 2147483

table_open_cache = 1024
max_allowed_packet = 64M

key_buffer_size = 20G # 索引大小
sort_buffer_size = 1G # 排序大小
read_buffer_size = 5G # 全表扫描大小
read_rnd_buffer_size = 1G 索引扫描大小

thread_cache_size = 64
ft_min_word_len = 4
default-storage-engine = MYISAM
transaction_isolation = REPEATABLE-READ

tmp_table_size = 50G # 临时表
max_heap_table_size = 50G # 内存表

myisam_sort_buffer_size = 10G # 排序缓存区:创建修改索引排序时用
myisam_max_sort_file_size = 50G # 最大临时文件:创建修改索引,导入数据
myisam_repair_threads = 1
myisam_recover_options

server-id = 1

[mysqldump]
quick
max_allowed_packet = 128M
[mysql]
no-auto-rehash
default-character-set=gbk
[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 64M
write_buffer = 64M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 8192
4048 次点击
所在节点    MySQL
7 条回复
usernametoolong
2015-08-12 12:33:59 +08:00
划分几十G内存出来当硬盘用,前提做好热备份。

其他的表以及结构和参数的优化,坐等楼下的大拿来说。
ning1022
2015-08-12 16:25:02 +08:00
这么大的数据,没有接触过!!!把经常需要在where 后的字段加索引,用explain 查查看为啥慢,或者用第三方工具测试下。
johnnyR
2015-08-12 21:55:26 +08:00
key_buffer_size = 20G !?超算麽?
choury
2015-08-12 23:51:39 +08:00
什么版本的mysql?请换innodb,然后将innodb的缓存开到50G
kxjhlele
2015-08-13 09:21:36 +08:00
@choury 因为经常算 Count() 所以没有采用innodb,并且是导入数据用innodb速度太慢。目前我想利用触发器插入数据的时候直接分表,但我发现分表数据可以插入成功,但是总表也有数据,每次都2倍的数据量。
kxjhlele
2015-08-13 09:24:01 +08:00
@johnnyR 反正没报错,不过利用率也不高,无所谓的,反正也是我自己用,配置大点内存也够用,现在主要是不知道调整那些参数可以比较明显的提升数据库性能,感觉现在电脑io受限,
liprais
2015-08-13 11:58:49 +08:00
这种需求请用hive

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/212612

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX