这是一个创建于 2612 天前的主题,其中的信息可能已经有所发展或是发生改变。
服务器配置:
处理器:Xeon E3-1230 V2
内存:16G DDR3 1600Mhz
硬盘:1TB 企业级硬盘
我现在的配置
[mysqld]
port = xxxx
socket = xxx
datadir = xxxx
default_storage_engine = MyISAM
#skip-external-locking
#loose-skip-innodb
key_buffer_size = 2048M
max_allowed_packet = 100G
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 4K
read_buffer_size = 4M
read_rnd_buffer_size = 256K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
query_cache_size = 128M
tmp_table_size = 128M
#skip-networking
#skip-name-resolve
max_connections = 3000
max_connect_errors = 600
open_files_limit = 65535
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
expire_logs_days = 10
default_storage_engine = InnoDB
innodb_data_home_dir = xxxxx
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir =xxxxx
innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 500
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
请问如何优化一下呢,数据库读写量大。
4 条回复 • 2017-08-05 11:13:02 +08:00
|
|
1
mengskysama 2017-07-28 01:10:54 +08:00 via iPhone 1
innodb_buffer_pool_size 对性能影响非常显著,看实际 mysql 内存占用来设,16G 物理机给个 8G
其他一些缓存参数根据 mysql 缓存命中率使用率等多给点,对于一般业务没什么大提升(个人感觉
剩下解决业务里面慢查询
观察主机 iops 比较大的话上 ssd raid 来的性能提升显著
看设置里用了个 100g allow packet,可能为了绕开数据表设计不当,是不是存了比较大的二进制列
写横向扩展,proxy 读写分离
还有 1230 是 4c8t 不是 8 核
|
|
|
3
234747005 2017-07-28 11:46:25 +08:00
不如利用 docker 做 mariadb 集群,再配合 haproxy 或者 mycat 做好分流。
|
|
|
4
bash99 2017-08-05 11:13:02 +08:00
default_storage_engine = MyISAM ... key_buffer_size = 2048M default_storage_engine = InnoDB ... innodb_buffer_pool_size = 1024M
这是干啥呢?用的 engine 定了没? 数据库版本?
innodb_flush_log_at_trx_commit = 1 sync_binlog = ? 没 SSD 没带电池 raid 还上这个参数?
|