V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
wickerrebeccaada
V2EX  ›  云计算

问个 MySql 优化问题, 16G, 8 核服务器??

  •  
  •   wickerrebeccaada · 2017-07-27 19:53:52 +08:00 · 3440 次点击
    这是一个创建于 2711 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务器配置:
    处理器: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
    mengskysama
        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 核
    wickerrebeccaada
        2
    wickerrebeccaada  
    OP
       2017-07-28 07:37:39 +08:00
    @mengskysama 感谢回复~~ 目前就您一个人回复了。。
    234747005
        3
    234747005  
       2017-07-28 11:46:25 +08:00
    不如利用 docker 做 mariadb 集群,再配合 haproxy 或者 mycat 做好分流。
    bash99
        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 还上这个参数?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2504 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:50 · PVG 10:50 · LAX 18:50 · JFK 21:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.