EDIT3:读写拆分似乎是链接问题中用户 dbdemon 指出的答案。
EDIT2:https ://drupal.stackexchange.com/questions/68350/high-performance-db-cluster-with-drupal
编辑:每个节点增加到 4 个核心后,日志更清晰。
我的 mariadb 集群正在崩溃 (SIGTERM) 或因数据损坏和 100% CPU 冻结。3 个节点分别在 1 个内核上运行。我找不到 mariadb 的最低要求,
有什么方法可以计算 mariadb 所需的 CPU 功率吗?
参考将不胜感激:-)
编辑:就 mariadb/galera 而言,数据没有损坏,但似乎它是部分的,因为应用程序(drupal)返回了 PHP 错误(http 500)
cpu是第二代单线程。
两个节点为最终用户服务,一个供内部使用,一个供内部使用保持完整性,我可以通过转储和恢复来从中恢复。
这在很大程度上取决于您的数据、架构和工作负载,因此没有简单的答案。
一个偶尔访问的小型数据库将在一个原子上运行得非常愉快(哎呀,如果你碰巧有一个旧的 486,可能会在一个旧的 486 上运行!)和一个大型数据库,特别是如果它的设计或查询不是最佳的,可能需要几个最新的,最大的、大规模多核、服务器-GHz CPU。
颠簸 CPU 不应导致损坏。除非它有物理问题并且在负载下过热,但即便如此,即使您使用的是事务数据库引擎(IIRC MariaDB 默认使用该引擎),您的数据在恢复时也应该处于一致状态。
要尝试诊断崩溃,您需要查看日志文件条目,如果有的话,还要检查硬件监控日志。有关一些初始指针,请参阅引用的问题 mustaccio。
您陈述有关现有硬件的任何细节。什么样的CPU单核?这是否意味着您在虚拟环境中操作?如果它具有动态内存分配,那么您可能处于大量超卖节点上,并且您的进程由于使用大量内存而被杀死。
通过升级 MariaDB 修复,并确认旧版本中的错误。