› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
bluemartin
V2EX  ›  MySQL

读写分离与单服务器,哪个好?

  •  
  •   bluemartin · Aug 22, 2019 · 7177 views
    This topic created in 2603 days ago, the information mentioned may be changed or developed.

    假设: 2 台 4 核 8G 的 mysql 云服务器,设置一读一写; 1 台 8 核 16G 的 mysql 云服务器,不读写分离; 如何选择比较好呢?请大神指点

    14 replies  •  2019-08-26 15:43:34 +08:00
    yrj
        1
    yrj  
       Aug 22, 2019 via iPad
    个人感觉,小站没必要,大站服务拆分是必要过程吧
    okwork
        2
    okwork  
       Aug 22, 2019 via Android
    读写比超过 80:20 就分开,不超过就不用分。
    taogen
        3
    taogen  
       Aug 22, 2019 via Android
    先搞清楚为什么要读写分离,它的作用是什么
    qsbaq
        4
    qsbaq  
       Aug 22, 2019
    读写分离没毛病,还能当同步备份。
    看你需求而定。
    opengps
        5
    opengps  
       Aug 22, 2019
    根据业务特征决定:读写分离适用于读写比例明显偏大的场景。比如 v 站,访客多,但是每秒的新帖子和新回复峰值并不高
    zjsxwc
        6
    zjsxwc  
       Aug 22, 2019 via Android
    数据库读写分离就是 sql 层面的缓存,是最后的大杀招

    因为在应用层面,不管是用 aop 缓存方法调用结果,还是直接拦截代理接口请求缓存,都可以达到类似效果
    CallMeReznov
        7
    CallMeReznov  
       Aug 22, 2019
    分,一定要分.
    rateltalk
        8
    rateltalk  
       Aug 22, 2019 via iPhone
    曾经信了邪,认为两台比一台好
    az402
        9
    az402  
       Aug 22, 2019 via Android
    一台 8u16g 以后扩成两台 8u16g 的成本比两台 4u8g 升级成两台 8u16g 的成本低
    dapang1221
        10
    dapang1221  
       Aug 22, 2019
    首先这个配置就有问题,读写分离是两台机器上都有 mysql 实例,4c8g*2 性能未必比 8c16g*1 高…还得看索引大小,16g 的机器索引存的肯定更多,查询的 io 开销就小,楞拆成俩 8g 没法比
    Actrace
        11
    Actrace  
       Aug 22, 2019
    单个服务器好。

    通常来说数据库本身的缓存机制会处理好读的问题,所以读写分离一般是用于将负载分离到多台物理服务器上。
    但是服务器越多,管理成本就越高,所以嘛,为此出现了很多中间件,就是为了解决这个问题。

    在我个人看来,数据库的目标是存储和管理数据,因此如果是优化性能,我更建议是放到中间件层面去做,比如用 redis 进行缓存等。

    然而大多数公司的业务还不到需要多台物理数据库服务器的程度吧,如果负载太高,请好好从程序层面找一下原因,大部分的问题都是使用不当造成的。
    yukiir
        12
    yukiir  
       Aug 22, 2019
    我感觉单机好,单机不够了就上缓存,缓存不够了再上读写分离。
    areless
        13
    areless  
       Aug 22, 2019 via Android
    那么你的数据库有 8g 或者 16g 大吗?什么~不够?加内存啊。来来来~shm 放数据,硬盘跑 http 响应,人要学会另辟蹊径
    Aresxue
        14
    Aresxue  
       Aug 26, 2019
    一般情况下当前肯定是单机的快,不过考虑到后续用户量的攀升先做好读写分离也是不错的。
    ps:but 大多数系统根本不会有数据量超过系统负荷的那一天,过早优化是万恶之源。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2558 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 11:25 · PVG 19:25 · LAX 04:25 · JFK 07:25
    ♥ Do have faith in what you're doing.