AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 108450
Accepted
Ozzie
Ozzie
Asked: 2015-07-30 07:37:56 +0800 CST2015-07-30 07:37:56 +0800 CST 2015-07-30 07:37:56 +0800 CST

是否应该将生产 MySQL 服务器上的重做日志配置到另一个位置?

  • 772

关于 innoDB 存储引擎,是否应该将innodb_log_group_home_dir选项(InnoDB 日志文件的目录路径)配置为默认目录以外的另一个磁盘,以便将日志 I/O 活动与实际数据文件分开?

像在其他 DBMS 中一样,将数据目录放在 RAID5 存储卷上并将重做日志放在 RAID1 上是否有优势?

mysql innodb
  • 2 2 个回答
  • 632 Views

2 个回答

  • Voted
  1. Best Answer
    RolandoMySQLDBA
    2015-07-30T08:08:27+08:002015-07-30T08:08:27+08:00

    是的,那是个好主意。我在我的其他帖子中提到了一个关于这样做的 FaceBook 工程师博客,以及将 DoubleWrite 缓冲区和表空间文件放在其他地方

    • Feb 24, 2012:使用 XtraDB 为 OLTP 调整专用的 Percona 服务器(另请参阅切换到 RAID)
    • Feb 06, 2014: SSD 上的 MySQL - 缺点是什么?
    • Jan 27, 2015:将我的表拆分为表空间和/或单独的模式的主要缺点是什么

    RAID5 ???天哪,不!!!!

    请不要在 RAID5 中放置任何与 InnoDB 相关的内容

    • Feb 14, 2012: raid 5适合安装mysql吗?
    • Mar 24, 2013:Innodb 表随机花费很长时间来执行插入查询,并在显示进程列表中显示为查询结束/更新

    由于只有在发生崩溃恢复时才需要重做日志,因此我会为重做日志使用 RAID10 SAS 驱动器,因为它们是按顺序写入的文件。我会回避 RAID1,因为您希望在磁盘崩溃时磁盘完全冗余。RAID5 进行了大量的奇偶校验,可以抑制顺序写入。

    • 1
  2. Rick James
    2015-08-01T18:20:00+08:002015-08-01T18:20:00+08:00

    带有电池后备写入高速缓存的 RAID-5 控制器非常出色。写入(对 MySQL)似乎是瞬时的。

    在比较 RAID-5 和 -10 时,您需要确定是在比较 N 驱动器与 N 驱动器还是比较 M GB 与 M GB。

    N 个驱动器:RAID-10 将其读取分散到 N 个驱动器上;RAID-5 也是​​如此。在这两种情况下写入都命中了 2 个驱动器,但奇偶校验块的读取-修改-写入可能会使 RAID-5 稍微慢一些。

    M GB:现在您正在比较 6 个 RAID-10 驱动器和 4 个 RAID-5 驱动器(以获得 3 个驱动器的空间)。所以 RAID-10 可能在读取和写入上都获胜。

    但是...除非您使 I/O 饱和,否则 RAID 控制器会隐藏差异。

    RAID-5 或 -10 优于手动将文件放在不同的驱动器上:

    • 当其他驱动器上有足够的可用空间时,一个驱动器上的磁盘空间不足的风险较小。
    • I/O 分布更均匀,因此吞吐量更高。通过手动拆分,您很可能会导致一个驱动器过度工作而其他驱动器不那么忙。

    “电池供电”的一个问题是:控制器会定期耗尽电池电量以延长其使用寿命。那时,写缓存被关闭,写变得非常慢。(这种循环持续几分钟,并且每年可能发生两次。)

    RAID-5 和 RAID-10 都可以承受单个驱动器故障。-5 不能一次处理2个失败;-10 可以处理一些2 驱动器故障。(另见 -6。)

    由于驱动器故障是许多可能变坏的事情之一(主板、控制器、电涌、地震、龙卷风、手动操作失误、软件错误、交流电故障导致的超温……),我认为只考虑问题是短视的查看 HA、BCP 等时的 RAID(甚至 DRBD)。

    我投票支持带有 N 个驱动器和 RAID-5 的单个文件系统或带有 BBWC 的 -10。

    好吧,那是用于旋转驱动器的。

    对于 HD/SSD 混合系统,将“日志”放在 HD 上,因为顺序访问相对较快;将 InnoDB 的东西放在 SSD 上,其中随机访问很重要。如果可能的话,买一个保证原子 16KB 写入的 SSD 品牌,然后关闭 InnoDB 的“double write buffering”。

    对于全 SSD,请确保磨损均衡足够好,以便所有驱动器不会同时磨损(从而使 RAID 无用)。

    • 0

相关问题

  • 是否有任何 MySQL 基准测试工具?[关闭]

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

  • 什么时候是使用 MariaDB 而不是 MySQL 的合适时机,为什么?

  • 组如何跟踪数据库架构更改?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve